mailman.cloud.codelutin.com
Sign In Sign Up
Manage this list Sign In Sign Up

Keyboard Shortcuts

Thread View

  • j: Next unread message
  • k: Previous unread message
  • j a: Jump to all threads
  • j l: Jump to MailingList overview

Observe-commits

Thread Start a new thread
Download
Threads by month
  • ----- 2026 -----
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2025 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2024 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2023 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2022 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2021 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2020 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2019 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2018 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2017 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2016 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2015 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2014 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2013 -----
  • December
  • November
  • October
  • September
observe-commits@list.forge.codelutin.com

September 2018

  • 1 participants
  • 147 discussions
[Git][ultreiaio/ird-observe][develop-7.x] update changelog
by Tony CHEMIT 12 Sep '18

12 Sep '18
Tony CHEMIT pushed to branch develop-7.x at ultreiaio / ird-observe Commits: 55f1422a by Tony CHEMIT at 2018-09-12T15:48:07Z update changelog - - - - - 4 changed files: - + .mvn/gitlab-cache/milestones/595831-artifacts.json - .mvn/gitlab-cache/milestones/595831-issues.json - .mvn/gitlab-cache/milestones/595831.json - CHANGELOG.md Changes: ===================================== .mvn/gitlab-cache/milestones/595831-artifacts.json ===================================== @@ -0,0 +1,12 @@ +[ + { + "name": "Application", + "filename": "observe-7.0-RC-18.zip", + "url": "https://ultreia.io/release/observe-7.0-RC-18.zip" + }, + { + "name": "Serveur", + "filename": "observe-7.0-RC-18.war", + "url": "https://ultreia.io/release/observe-7.0-RC-18.war" + } +] \ No newline at end of file ===================================== .mvn/gitlab-cache/milestones/595831-issues.json ===================================== @@ -1,4 +1,644 @@ [ + { + "id": 14095367, + "iid": 1048, + "projectId": 2722779, + "title": "La synchronisation des référentiels pourrait ne pas fonctionner sur la suppression de certains référentiels", + "description": "La suppression des référentiels avec des associations multiples était codé en dur, donc les derniers référentiels de ce type ne fonctionnaient pas...", + "labels": [ + "Anomalie", + "Contrat AZTI-2017", + "Immédiat" + ], + "milestone": { + "id": 595831, + "iid": 121, + "projectId": 2722779, + "groupId": 0, + "title": "7.0-RC-18", + "description": "", + "dueDate": "Sep 12, 2018 2:00:00 AM", + "startDate": "Jul 16, 2018 2:00:00 AM", + "state": "closed" + }, + "assignee": { + "_id": 166231, + "_username": "tchemit", + "_name": "Tony CHEMIT", + "_state": "active", + "_darkScheme": false, + "_isAdmin": false, + "_canCreateGroup": false, + "_canCreateProject": false, + "_canCreateTeam": false, + "_avatarUrl": "https://secure.gravatar.com/avatar/2a915aa9a1df35c8b609ff2f750d5dac?s\u003d…" + }, + "author": { + "_id": 166231, + "_username": "tchemit", + "_name": "Tony CHEMIT", + "_state": "active", + "_darkScheme": false, + "_isAdmin": false, + "_canCreateGroup": false, + "_canCreateProject": false, + "_canCreateTeam": false, + "_avatarUrl": "https://secure.gravatar.com/avatar/2a915aa9a1df35c8b609ff2f750d5dac?s\u003d…" + }, + "state": "closed", + "updatedAt": "Sep 12, 2018 4:04:08 PM", + "createdAt": "Sep 12, 2018 4:03:43 PM" + }, + { + "id": 14093098, + "iid": 1047, + "projectId": 2722779, + "title": "La synchro référentiel simple ne fonctionne pas, l\u0027ordre des requetes à executer n\u0027est pas bon", + "description": "Dans le cas particulier de mise à jour de référentiels avec une association ``**-**``, il se peut que l\u0027ordre des requêtes à appliquer n\u0027est pas correct.\nIl faut donc faire cela dans cet ordre précis :\n\n* supprimer toutes les associations dans un premier temps\n* ajouter toutes les nouvelles entités (sans les associations)\n* ajouter les associations sur les nouvelles entités\n* mettre à jour les entités\n* supprimer les entités\n\nAinsi on assure que la synchronisation fonctionne bien.", + "labels": [ + "Anomalie", + "Contrat AZTI-2017", + "Immédiat" + ], + "milestone": { + "id": 595831, + "iid": 121, + "projectId": 2722779, + "groupId": 0, + "title": "7.0-RC-18", + "description": "", + "dueDate": "Sep 12, 2018 2:00:00 AM", + "startDate": "Jul 16, 2018 2:00:00 AM", + "state": "closed" + }, + "assignee": { + "_id": 166231, + "_username": "tchemit", + "_name": "Tony CHEMIT", + "_state": "active", + "_darkScheme": false, + "_isAdmin": false, + "_canCreateGroup": false, + "_canCreateProject": false, + "_canCreateTeam": false, + "_avatarUrl": "https://secure.gravatar.com/avatar/2a915aa9a1df35c8b609ff2f750d5dac?s\u003d…" + }, + "author": { + "_id": 166231, + "_username": "tchemit", + "_name": "Tony CHEMIT", + "_state": "active", + "_darkScheme": false, + "_isAdmin": false, + "_canCreateGroup": false, + "_canCreateProject": false, + "_canCreateTeam": false, + "_avatarUrl": "https://secure.gravatar.com/avatar/2a915aa9a1df35c8b609ff2f750d5dac?s\u003d…" + }, + "state": "closed", + "updatedAt": "Sep 12, 2018 4:04:19 PM", + "createdAt": "Sep 12, 2018 2:33:29 PM" + }, + { + "id": 13752519, + "iid": 1046, + "projectId": 2722779, + "title": "[PS][LL][DIRECT][SERVEUR] La suppression de marées ne fonctionne pas bien", + "description": "Le problème suivant survient aussi bien en connexion directe qu\u0027en mode serveur, avec des marées LL comme PS.\nLe problème survient très souvent, mais pas systématiquement.\n\nUne fois connecté :\n* On réouvre une marée\n* On clique sur supprimer\n* On confirme dans la boîte de dialogue qui suit\n* L\u0027exception suivante survient :\n\n![image](/uploads/356b61654da1928ef553b641523ac5d3/image.png)\n\nLog :\n\n```\nINFO 2018-08-28 14:23:07,504 [ActionWorker-pool-2-thread-1] DbModelHelper : 153 - Persistence model helper initialization (fr.ird.observe.spi.DbModelHelper(a)3b109c11).\nINFO 2018-08-28 14:23:07,505 [ActionWorker-pool-2-thread-1] DtoModelHelper : 106 - Dto model helper initialization (fr.ird.observe.spi.DtoModelHelper(a)7c0c0441).\nINFO 2018-08-28 14:23:07,632 [ActionWorker-pool-2-thread-1] DtoModelHelper : 126 - Load 66 referential definitions.\nINFO 2018-08-28 14:23:07,636 [ActionWorker-pool-2-thread-1] DtoModelHelper : 160 - Load 99 reference definitions.\nINFO 2018-08-28 14:23:07,636 [ActionWorker-pool-2-thread-1] DtoModelHelper : 161 - Load 114 form definitions.\nINFO 2018-08-28 14:23:07,637 [ActionWorker-pool-2-thread-1] DtoModelHelper : 162 - Load 66 dto referential binders.\nINFO 2018-08-28 14:23:07,642 [ActionWorker-pool-2-thread-1] DtoModelHelper : 163 - Load 33 dto data binders.\nINFO 2018-08-28 14:23:07,642 [ActionWorker-pool-2-thread-1] DtoModelHelper : 170 - Dto model helper is initialized (fr.ird.observe.spi.DtoModelHelper(a)7c0c0441).\nINFO 2018-08-28 14:23:07,859 [ActionWorker-pool-2-thread-1] DbModelHelper : 232 - Load 66 dto referential binders.\nINFO 2018-08-28 14:23:07,860 [ActionWorker-pool-2-thread-1] DbModelHelper : 233 - Load 66 entity referential binders.\nINFO 2018-08-28 14:23:07,860 [ActionWorker-pool-2-thread-1] DbModelHelper : 234 - Load 33 dto data binders.\nINFO 2018-08-28 14:23:07,861 [ActionWorker-pool-2-thread-1] DbModelHelper : 235 - Load 57 entity data binders.\nINFO 2018-08-28 14:23:07,863 [ActionWorker-pool-2-thread-1] DbModelHelper : 247 - Persistence model helper is initialized (fr.ird.observe.spi.DbModelHelper(a)3b109c11).\nINFO 2018-08-28 14:23:07,919 [ActionWorker-pool-2-thread-1] ObserveServiceMainFactory : 106 - New service created: fr.ird.observe.services.local.service.DataSourceServiceLocal@a97b98d\nINFO 2018-08-28 14:23:08,579 [ActionWorker-pool-2-thread-1] MigrationVersionResourceProvider : 63 - Found 29 migration resource(s).\nINFO 2018-08-28 14:23:08,583 [ActionWorker-pool-2-thread-1] TimeLog : 239 - [659,231ms] for method \u0027invokeMethod DataSourceService.checkCanConnect\u0027, (total call 1, total time 659,231ms, min time 659,231ms, max time 659,231ms, avg time 659,231ms)\nINFO 2018-08-28 14:23:08,809 [ActionWorker-pool-2-thread-1] ObserveTopiaApplicationContextFactory : 181 - Create H2 topia application context: ObserveDataSourceConfigurationTopiaH2{directory\u003dC:\\Users\\pcauquil\\.observe\\db\\obstuna, dbName\u003dobstuna, username\u003dsa, password\u003d***}\nWARN 2018-08-28 14:23:10,145 [ActionWorker-pool-2-thread-1] TimeLog : 237 - [1,558s] for method \u0027invokeMethod DataSourceService.open\u0027, (total call 1, total time 1,558s, min time 1,558s, max time 1,558s, avg time 1,558s)\nINFO 2018-08-28 14:23:10,157 [ActionWorker-pool-2-thread-1] ObserveServiceMainFactory : 106 - New service created: fr.ird.observe.services.local.service.data.NavigationServiceLocal@19a897ce\nINFO 2018-08-28 14:23:20,496 [AWT-EventQueue-0] ChangeStorageAction : 89 - Start change storage with dbMode: \nINFO 2018-08-28 14:23:20,912 [AWT-EventQueue-0] StorageUILauncher : 71 - Will init storageMain\nINFO 2018-08-28 14:23:25,423 [AWT-EventQueue-0] UseRemoteConfigurationUIAction : 71 - Use remote configuration: localhost - 7_02 - admin\nINFO 2018-08-28 14:23:25,526 [AWT-EventQueue-0] ObserveServiceMainFactory : 106 - New service created: fr.ird.observe.services.local.service.DataSourceServiceLocal@703479f6\nINFO 2018-08-28 14:23:26,139 [ActionWorker-pool-2-thread-2] ClientConfig : 382 - Sauvegarde de la configuration dans le fichier C:\\Users\\pcauquil\\AppData\\Roaming\\observe-client.conf\nINFO 2018-08-28 14:23:26,150 [ActionWorker-pool-2-thread-2] DataSourceServiceLocal : 601 - Closing topia application context: ObserveDataSourceConfigurationTopiaH2{directory\u003dC:\\Users\\pcauquil\\.observe\\db\\obstuna, dbName\u003dobstuna, username\u003dsa, password\u003d***}\nINFO 2018-08-28 14:23:26,596 [ActionWorker-pool-2-thread-2] ObserveSwingDataSource : 457 - removing listener fr.ird.observe.client.db.ObserveDataSourcesManager$3@50083973\nINFO 2018-08-28 14:23:26,631 [ActionWorker-pool-2-thread-2] ObserveServiceMainFactory : 106 - New service created: fr.ird.observe.services.local.service.DataSourceServiceLocal@316432ab\nINFO 2018-08-28 14:23:26,883 [ActionWorker-pool-2-thread-2] ObserveTopiaApplicationContextFactory : 156 - Create Postgresql topia application context: ObserveDataSourceConfigurationTopiaPG{label\u003dBase distante, jdbcUrl\u003djdbc:postgresql://localhost/observe_7_02, username\u003dpcauquil, password\u003d***, useSsl\u003dfalse}\nINFO 2018-08-28 14:23:27,429 [ActionWorker-pool-2-thread-2] TimeLog : 239 - [790,404ms] for method \u0027invokeMethod DataSourceService.open\u0027, (total call 2, total time 2,348s, min time 790,404ms, max time 1,558s, avg time 1,174s)\nINFO 2018-08-28 14:23:27,432 [ActionWorker-pool-2-thread-2] ObserveServiceMainFactory : 106 - New service created: fr.ird.observe.services.local.service.data.NavigationServiceLocal@2a088d91\nINFO 2018-08-28 14:23:28,640 [ActionWorker-pool-2-thread-2] ClientDataContext : 492 - old openIds selection \u003d [fr.ird.observe.entities.seine.SetSeine#1532238584922#0.6490625311153083]\nINFO 2018-08-28 14:23:28,642 [ActionWorker-pool-2-thread-2] ClientDataContext : 493 - new openIds selection \u003d []\nWARN 2018-08-28 14:23:32,677 [ActionWorker-pool-2-thread-2] TimeLog : 237 - [3,978s] for method \u0027invokeMethod TripSeineService.getAllTripSeine\u0027, (total call 2, total time 4,035s, min time 57,422ms, max time 3,978s, avg time 2,018s)\nINFO 2018-08-28 14:23:33,221 [ActionWorker-pool-2-thread-2] TimeLog : 239 - [500,188ms] for method \u0027invokeMethod TripLonglineService.getAllTripLongline\u0027, (total call 2, total time 504,661ms, min time 4,473ms, max time 500,188ms, avg time 252,33ms)\nWARN 2018-08-28 14:23:33,230 [ActionWorker-pool-2-thread-2] TimeLog : 237 - [4,587s] for method \u0027invokeMethod NavigationService.getNavigation\u0027, (total call 2, total time 4,724s, min time 136,705ms, max time 4,587s, avg time 2,362s)\nINFO 2018-08-28 14:23:33,752 [ActionWorker-pool-2-thread-2] StorageUIHandler : 630 - \u003e\u003e\u003e main storage opened Base distante\nINFO 2018-08-28 14:23:40,949 [AWT-EventQueue-0] ContentListUIHandler : 130 - [TripLonglinesUI] selectedId \u003d fr.ird.observe.entities.referentiel.Program#1239832686139#0.3\nINFO 2018-08-28 14:23:40,951 [AWT-EventQueue-0] ContentListUIHandler : 136 - [TripLonglinesUI] content mode \u003d CREATE\nINFO 2018-08-28 14:23:43,751 [AWT-EventQueue-0] TripLonglineUIHandler : 154 - [TripLonglineUI] programId \u003d fr.ird.observe.entities.referentiel.Program#1239832686139#0.3\nINFO 2018-08-28 14:23:43,752 [AWT-EventQueue-0] TripLonglineUIHandler : 155 - [TripLonglineUI] tripId \u003d fr.ird.observe.entities.longline.TripLongline#1433547673796#0.52918197424151\nINFO 2018-08-28 14:23:43,753 [AWT-EventQueue-0] TripLonglineUIHandler : 156 - [TripLonglineUI] mode \u003d READ\nINFO 2018-08-28 14:23:43,754 [AWT-EventQueue-0] TripLonglineUIHandler : 176 - [TripLonglineUI] using existing trip fr.ird.observe.entities.longline.TripLongline#1433547673796#0.52918197424151\nINFO 2018-08-28 14:23:43,756 [AWT-EventQueue-0] ObserveServiceMainFactory : 106 - New service created: fr.ird.observe.services.local.service.data.longline.TripLonglineServiceLocal@4cf1a40e\nINFO 2018-08-28 14:23:43,794 [AWT-EventQueue-0] ObserveServiceMainFactory : 106 - New service created: fr.ird.observe.services.local.service.referential.ReferentialServiceLocal@20ddb54b\nINFO 2018-08-28 14:23:43,795 [AWT-EventQueue-0] ObserveReferentialCache : 95 - Loading 10 referential dependencies for: fr.ird.observe.dto.data.longline.TripLonglineDto\nINFO 2018-08-28 14:23:44,278 [AWT-EventQueue-0] ObserveServiceMainFactory : 106 - New service created: fr.ird.observe.services.local.service.data.seine.TripSeineServiceLocal@af27b0a\nINFO 2018-08-28 14:23:59,033 [AWT-EventQueue-0] TripLonglineUIHandler : 320 - Will delete Trip fr.ird.observe.entities.longline.TripLongline#1433547673796#0.52918197424151\nWARN 2018-08-28 14:24:00,415 [AWT-EventQueue-0] TimeLog : 237 - [1,378s] for method \u0027invokeMethod TripLonglineService.delete\u0027, (total call 1, total time 1,378s, min time 1,378s, max time 1,378s, avg time 1,378s)\nERROR 2018-08-28 14:24:01,766 [AWT-EventQueue-0] UIHelper : 518 - An error occurred during commit operation: org.hibernate.exception.ConstraintViolationException: could not execute statement\norg.nuiton.topia.persistence.TopiaException: An error occurred during commit operation: org.hibernate.exception.ConstraintViolationException: could not execute statement\n\tat org.nuiton.topia.persistence.internal.AbstractTopiaPersistenceContext.commit(AbstractTopiaPersistenceContext.java:382)\n\tat fr.ird.observe.services.local.ObserveServiceFactoryLocal$ObserveServiceInvocationHandler.invokeMethodWithTransaction(ObserveServiceFactoryLocal.java:268)\n\tat fr.ird.observe.services.local.ObserveServiceFactoryLocal$ObserveServiceInvocationHandler.invoke(ObserveServiceFactoryLocal.java:230)\n\tat com.sun.proxy.$Proxy44.delete(Unknown Source)\n\tat fr.ird.observe.client.ui.content.data.longline.TripLonglineUIHandler.doDelete(TripLonglineUIHandler.java:323)\n\tat fr.ird.observe.client.ui.content.data.longline.TripLonglineUIHandler.doDelete(TripLonglineUIHandler.java:65)\n\tat fr.ird.observe.client.ui.content.ContentUIHandler.deleteUI(ContentUIHandler.java:597)\n\tat fr.ird.observe.client.ui.content.ContentUI.delete(ContentUI.java:189)\n\tat fr.ird.observe.client.ui.actions.content.DeleteDataUIAction.lambda$actionPerformed$0(DeleteDataUIAction.java:60)\n\tat java.awt.event.InvocationEvent.dispatch(Unknown Source)\n\tat java.awt.EventQueue.dispatchEventImpl(Unknown Source)\n\tat java.awt.EventQueue.access$500(Unknown Source)\n\tat java.awt.EventQueue$3.run(Unknown Source)\n\tat java.awt.EventQueue$3.run(Unknown Source)\n\tat java.security.AccessController.doPrivileged(Native Method)\n\tat java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)\n\tat java.awt.EventQueue.dispatchEvent(Unknown Source)\n\tat java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)\n\tat java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)\n\tat java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)\n\tat java.awt.EventDispatchThread.pumpEvents(Unknown Source)\n\tat java.awt.EventDispatchThread.pumpEvents(Unknown Source)\n\tat java.awt.EventDispatchThread.run(Unknown Source)\nCaused by: javax.persistence.PersistenceException: org.hibernate.exception.ConstraintViolationException: could not execute statement\n\tat org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:149)\n\tat org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:157)\n\tat org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:164)\n\tat org.hibernate.internal.SessionImpl.doFlush(SessionImpl.java:1443)\n\tat org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1423)\n\tat org.nuiton.topia.persistence.internal.AbstractTopiaPersistenceContext.commit(AbstractTopiaPersistenceContext.java:373)\n\t... 22 more\nCaused by: org.hibernate.exception.ConstraintViolationException: could not execute statement\n\tat org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:112)\n\tat org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:42)\n\tat org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:111)\n\tat org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:97)\n\tat org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:178)\n\tat org.hibernate.engine.jdbc.batch.internal.NonBatchingBatch.addToBatch(NonBatchingBatch.java:45)\n\tat org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:3339)\n\tat org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:3596)\n\tat org.hibernate.action.internal.EntityDeleteAction.execute(EntityDeleteAction.java:99)\n\tat org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:600)\n\tat org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:474)\n\tat org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:337)\n\tat org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:39)\n\tat org.hibernate.internal.SessionImpl.doFlush(SessionImpl.java:1437)\n\t... 24 more\nCaused by: org.postgresql.util.PSQLException: ERREUR: UPDATE ou DELETE sur la table « branchline » viole la contrainte de clé étrangère\n« fk_catch_branchline » de la table « catch »\n Détail : La clé (topiaid)\u003d(fr.ird.observe.entities.longline.Branchline#1433547681557#0.00671301386319101) est toujours référencée à partir de la table « catch ».\n\tat org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2440)\n\tat org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2183)\n\tat org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:308)\n\tat org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:441)\n\tat org.postgresql.jdbc.PgStatement.execute(PgStatement.java:365)\n\tat org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:150)\n\tat org.postgresql.jdbc.PgPreparedStatement.executeUpdate(PgPreparedStatement.java:127)\n\tat com.zaxxer.hikari.pool.ProxyPreparedStatement.executeUpdate(ProxyPreparedStatement.java:61)\n\tat com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeUpdate(HikariProxyPreparedStatement.java)\n\tat org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:175)\n\t... 33 more\n```", + "labels": [ + "Anomalie", + "Contrat AZTI-2017", + "Immédiat" + ], + "milestone": { + "id": 595831, + "iid": 121, + "projectId": 2722779, + "groupId": 0, + "title": "7.0-RC-18", + "description": "", + "dueDate": "Sep 12, 2018 2:00:00 AM", + "startDate": "Jul 16, 2018 2:00:00 AM", + "state": "closed" + }, + "assignee": { + "_id": 166231, + "_username": "tchemit", + "_name": "Tony CHEMIT", + "_state": "active", + "_darkScheme": false, + "_isAdmin": false, + "_canCreateGroup": false, + "_canCreateProject": false, + "_canCreateTeam": false, + "_avatarUrl": "https://secure.gravatar.com/avatar/2a915aa9a1df35c8b609ff2f750d5dac?s\u003d…" + }, + "author": { + "_id": 1111318, + "_username": "pcauquil", + "_name": "Pascal Cauquil", + "_state": "active", + "_darkScheme": false, + "_isAdmin": false, + "_canCreateGroup": false, + "_canCreateProject": false, + "_canCreateTeam": false, + "_avatarUrl": "https://secure.gravatar.com/avatar/b4ae117bd93e10d96298fa4d885208ea?s\u003d…" + }, + "state": "closed", + "updatedAt": "Sep 12, 2018 5:40:19 PM", + "createdAt": "Aug 28, 2018 2:34:20 PM" + }, + { + "id": 13729817, + "iid": 1042, + "projectId": 2722779, + "title": "La synchro de marée LL et PS entre bases centrales en mode serveur ne fonctionne pas", + "description": "En mode serveur des 2 côtés.\n\nTransfert d\u0027une marée LL de gauche à droite :\n\n![image](/uploads/0454ec6207b8c5eae1188a15518d045c/image.png)\n\nLog client : [observe-7.0-RC-17.log](/uploads/e251fb169cbc7d9e8619da9ea2f7c5b6/observe-7.0-RC-17.log)\n\nLog serveur : [observeweb-7.0-RC-17.log](/uploads/382f1917444db379d2f97c69fb57c0ca/observeweb-7.0-RC-17.log)\n\nL\u0027erreur se produit à 17:42. Pas de traces apparente dans le log serveur.", + "labels": [ + "Anomalie", + "Contrat AZTI-2017", + "Immédiat" + ], + "milestone": { + "id": 595831, + "iid": 121, + "projectId": 2722779, + "groupId": 0, + "title": "7.0-RC-18", + "description": "", + "dueDate": "Sep 12, 2018 2:00:00 AM", + "startDate": "Jul 16, 2018 2:00:00 AM", + "state": "closed" + }, + "assignee": { + "_id": 166231, + "_username": "tchemit", + "_name": "Tony CHEMIT", + "_state": "active", + "_darkScheme": false, + "_isAdmin": false, + "_canCreateGroup": false, + "_canCreateProject": false, + "_canCreateTeam": false, + "_avatarUrl": "https://secure.gravatar.com/avatar/2a915aa9a1df35c8b609ff2f750d5dac?s\u003d…" + }, + "author": { + "_id": 1111318, + "_username": "pcauquil", + "_name": "Pascal Cauquil", + "_state": "active", + "_darkScheme": false, + "_isAdmin": false, + "_canCreateGroup": false, + "_canCreateProject": false, + "_canCreateTeam": false, + "_avatarUrl": "https://secure.gravatar.com/avatar/b4ae117bd93e10d96298fa4d885208ea?s\u003d…" + }, + "state": "closed", + "updatedAt": "Sep 12, 2018 5:45:43 PM", + "createdAt": "Aug 27, 2018 5:48:29 PM" + }, + { + "id": 12545129, + "iid": 1013, + "projectId": 2722779, + "title": "Types de mesures par défaut manquants pour 94 espèces dans le référentiel", + "description": "Chaque espèce de la table species doit être associée à un type de mesure par défaut. C\u0027est le type de mesure qui sera proposé par défaut dans l\u0027UI PS, et ce doit être celui imposé par le protocole d\u0027observation.\n\n94 espèces n\u0027ont pas ce type par défaut, il faut les compléter.\n![image](/uploads/525e4dceffcadb01803361d1998139b3/image.png)\n\nCette requête identifie les espèces sans type de mesure de taille par défaut :\n\n```\nselect s.*\nfrom observe_common.species s\nwhere s.sizemeasuretype is null\norder by s.faocode\n```", + "labels": [ + "Contrat Code Lutin-2016", + "Evolution", + "Haut" + ], + "milestone": { + "id": 595831, + "iid": 121, + "projectId": 2722779, + "groupId": 0, + "title": "7.0-RC-18", + "description": "", + "dueDate": "Sep 12, 2018 2:00:00 AM", + "startDate": "Jul 16, 2018 2:00:00 AM", + "state": "closed" + }, + "assignee": { + "_id": 166231, + "_username": "tchemit", + "_name": "Tony CHEMIT", + "_state": "active", + "_darkScheme": false, + "_isAdmin": false, + "_canCreateGroup": false, + "_canCreateProject": false, + "_canCreateTeam": false, + "_avatarUrl": "https://secure.gravatar.com/avatar/2a915aa9a1df35c8b609ff2f750d5dac?s\u003d…" + }, + "author": { + "_id": 1111318, + "_username": "pcauquil", + "_name": "Pascal Cauquil", + "_state": "active", + "_darkScheme": false, + "_isAdmin": false, + "_canCreateGroup": false, + "_canCreateProject": false, + "_canCreateTeam": false, + "_avatarUrl": "https://secure.gravatar.com/avatar/b4ae117bd93e10d96298fa4d885208ea?s\u003d…" + }, + "state": "closed", + "updatedAt": "Sep 11, 2018 5:09:55 PM", + "createdAt": "Jul 4, 2018 11:07:35 AM" + }, + { + "id": 13730631, + "iid": 1044, + "projectId": 2722779, + "title": "Ne peut-on plus choisir entre synchro uni et bidirectionnelle ?", + "description": "On ne retrouve pas les boutons que l\u0027on avait avant pour choisir parmi une synchro unidirectionnelle (vers la droite, ou vers la gauche) ou bidirectionnelle. Est-ce normal ?\n\n![image](/uploads/b8ac0ce3fa4c80962cd903f2c8ef5f63/image.png)", + "labels": [ + "Anomalie", + "Bas", + "Contrat Code Lutin-2016" + ], + "milestone": { + "id": 595831, + "iid": 121, + "projectId": 2722779, + "groupId": 0, + "title": "7.0-RC-18", + "description": "", + "dueDate": "Sep 12, 2018 2:00:00 AM", + "startDate": "Jul 16, 2018 2:00:00 AM", + "state": "closed" + }, + "assignee": { + "_id": 166231, + "_username": "tchemit", + "_name": "Tony CHEMIT", + "_state": "active", + "_darkScheme": false, + "_isAdmin": false, + "_canCreateGroup": false, + "_canCreateProject": false, + "_canCreateTeam": false, + "_avatarUrl": "https://secure.gravatar.com/avatar/2a915aa9a1df35c8b609ff2f750d5dac?s\u003d…" + }, + "author": { + "_id": 1111318, + "_username": "pcauquil", + "_name": "Pascal Cauquil", + "_state": "active", + "_darkScheme": false, + "_isAdmin": false, + "_canCreateGroup": false, + "_canCreateProject": false, + "_canCreateTeam": false, + "_avatarUrl": "https://secure.gravatar.com/avatar/b4ae117bd93e10d96298fa4d885208ea?s\u003d…" + }, + "state": "closed", + "updatedAt": "Sep 11, 2018 2:40:57 PM", + "createdAt": "Aug 27, 2018 6:36:48 PM" + }, + { + "id": 13729617, + "iid": 1041, + "projectId": 2722779, + "title": "Affichage du nom de base dans les écrans de synchro avancée", + "description": "En synchro avancée de marées et de référentiel, l\u0027UI indique le service web auquel on est connecté de part et d\u0027autre.\nOn souhaiterait voir affiché également le nom de la base (ou \"base par défaut\", s\u0027il n\u0027est pas possible d\u0027afficher plus lorsque c\u0027est la base par défaut qui est sélectionnée).\n\n![image](/uploads/1ba6c8518167c112c5f6d7eb1759d70e/image.png)", + "labels": [ + "Bas", + "Evolution" + ], + "milestone": { + "id": 595831, + "iid": 121, + "projectId": 2722779, + "groupId": 0, + "title": "7.0-RC-18", + "description": "", + "dueDate": "Sep 12, 2018 2:00:00 AM", + "startDate": "Jul 16, 2018 2:00:00 AM", + "state": "closed" + }, + "assignee": { + "_id": 166231, + "_username": "tchemit", + "_name": "Tony CHEMIT", + "_state": "active", + "_darkScheme": false, + "_isAdmin": false, + "_canCreateGroup": false, + "_canCreateProject": false, + "_canCreateTeam": false, + "_avatarUrl": "https://secure.gravatar.com/avatar/2a915aa9a1df35c8b609ff2f750d5dac?s\u003d…" + }, + "author": { + "_id": 1111318, + "_username": "pcauquil", + "_name": "Pascal Cauquil", + "_state": "active", + "_darkScheme": false, + "_isAdmin": false, + "_canCreateGroup": false, + "_canCreateProject": false, + "_canCreateTeam": false, + "_avatarUrl": "https://secure.gravatar.com/avatar/b4ae117bd93e10d96298fa4d885208ea?s\u003d…" + }, + "state": "closed", + "updatedAt": "Sep 11, 2018 4:46:03 PM", + "createdAt": "Aug 27, 2018 5:37:38 PM" + }, + { + "id": 13673840, + "iid": 1040, + "projectId": 2722779, + "title": "[PS] Un libellé à corriger", + "description": "Ecran des écahntillons PS : Remplacer \"Longueur hors tout\" par \"Taille (en cm)\".\n\n![image](/uploads/9447726a0690a6af39d2997751464f7d/image.png)", + "labels": [ + "Bas" + ], + "milestone": { + "id": 595831, + "iid": 121, + "projectId": 2722779, + "groupId": 0, + "title": "7.0-RC-18", + "description": "", + "dueDate": "Sep 12, 2018 2:00:00 AM", + "startDate": "Jul 16, 2018 2:00:00 AM", + "state": "closed" + }, + "assignee": { + "_id": 166231, + "_username": "tchemit", + "_name": "Tony CHEMIT", + "_state": "active", + "_darkScheme": false, + "_isAdmin": false, + "_canCreateGroup": false, + "_canCreateProject": false, + "_canCreateTeam": false, + "_avatarUrl": "https://secure.gravatar.com/avatar/2a915aa9a1df35c8b609ff2f750d5dac?s\u003d…" + }, + "author": { + "_id": 1111318, + "_username": "pcauquil", + "_name": "Pascal Cauquil", + "_state": "active", + "_darkScheme": false, + "_isAdmin": false, + "_canCreateGroup": false, + "_canCreateProject": false, + "_canCreateTeam": false, + "_avatarUrl": "https://secure.gravatar.com/avatar/b4ae117bd93e10d96298fa4d885208ea?s\u003d…" + }, + "state": "closed", + "updatedAt": "Sep 11, 2018 4:46:03 PM", + "createdAt": "Aug 24, 2018 12:39:42 PM" + }, + { + "id": 13730070, + "iid": 1043, + "projectId": 2722779, + "title": "Synchro avancée de marées : sélection de marées impossible à droite ?", + "description": "Avec l\u0027asssitant synchro avancée de marées, je me connecte à deux bases centrales en mode serveur, sur chacune avec un compte ayant les droits d\u0027écriture.\n\nAutant je peux sélectionner des marées à gauche, autant je ne peux pas en sélectionner à droite, les cases à cocher ne réagissant pas :\n\n![image](/uploads/0971a05ed7803f31154d4dd20c6ca7df/image.png)\n\nLe comportement est le même en connexion directe et serveur.", + "labels": [ + "Anomalie", + "Contrat Code Lutin-2016" + ], + "milestone": { + "id": 595831, + "iid": 121, + "projectId": 2722779, + "groupId": 0, + "title": "7.0-RC-18", + "description": "", + "dueDate": "Sep 12, 2018 2:00:00 AM", + "startDate": "Jul 16, 2018 2:00:00 AM", + "state": "closed" + }, + "assignee": { + "_id": 166231, + "_username": "tchemit", + "_name": "Tony CHEMIT", + "_state": "active", + "_darkScheme": false, + "_isAdmin": false, + "_canCreateGroup": false, + "_canCreateProject": false, + "_canCreateTeam": false, + "_avatarUrl": "https://secure.gravatar.com/avatar/2a915aa9a1df35c8b609ff2f750d5dac?s\u003d…" + }, + "author": { + "_id": 1111318, + "_username": "pcauquil", + "_name": "Pascal Cauquil", + "_state": "active", + "_darkScheme": false, + "_isAdmin": false, + "_canCreateGroup": false, + "_canCreateProject": false, + "_canCreateTeam": false, + "_avatarUrl": "https://secure.gravatar.com/avatar/b4ae117bd93e10d96298fa4d885208ea?s\u003d…" + }, + "state": "closed", + "updatedAt": "Sep 11, 2018 4:46:03 PM", + "createdAt": "Aug 27, 2018 6:03:49 PM" + }, + { + "id": 13673763, + "iid": 1039, + "projectId": 2722779, + "title": "[PS] Un classement de liste déroulante est inversé", + "description": "Sur le formulaire PS / Activité (pêche) / Calée / Thons rejetés, liste déroulante \"Catégorie de poids\", les classements par identifiants et libellés sont intervertis : \"identifiant\" classe par libellé et vice-et-versa :\n\n![image](/uploads/b848c29f21c10563d82c4232cfc413bf/image.png)", + "labels": [ + "Anomalie", + "Contrat Code Lutin-2016" + ], + "milestone": { + "id": 595831, + "iid": 121, + "projectId": 2722779, + "groupId": 0, + "title": "7.0-RC-18", + "description": "", + "dueDate": "Sep 12, 2018 2:00:00 AM", + "startDate": "Jul 16, 2018 2:00:00 AM", + "state": "closed" + }, + "assignee": { + "_id": 166231, + "_username": "tchemit", + "_name": "Tony CHEMIT", + "_state": "active", + "_darkScheme": false, + "_isAdmin": false, + "_canCreateGroup": false, + "_canCreateProject": false, + "_canCreateTeam": false, + "_avatarUrl": "https://secure.gravatar.com/avatar/2a915aa9a1df35c8b609ff2f750d5dac?s\u003d…" + }, + "author": { + "_id": 1111318, + "_username": "pcauquil", + "_name": "Pascal Cauquil", + "_state": "active", + "_darkScheme": false, + "_isAdmin": false, + "_canCreateGroup": false, + "_canCreateProject": false, + "_canCreateTeam": false, + "_avatarUrl": "https://secure.gravatar.com/avatar/b4ae117bd93e10d96298fa4d885208ea?s\u003d…" + }, + "state": "closed", + "updatedAt": "Sep 11, 2018 4:46:03 PM", + "createdAt": "Aug 24, 2018 12:34:10 PM" + }, + { + "id": 12914079, + "iid": 1037, + "projectId": 2722779, + "title": "[SPECIES RELEASE] Add a status in the reference list \"Etat à la libération\" during migration", + "description": "Among the current items of list Senne / \"Etat à la libération\" : Bon, excellent, inacceptable, mauvais, inconnu, add another category (to be included in V7 migration):\n* C - Correct / Correct / Correcto\n\n![image](/uploads/f0d7b8dbf50be4085112b4b29a399f8d/image.png)", + "labels": [ + "Contrat AZTI-2017" + ], + "milestone": { + "id": 595831, + "iid": 121, + "projectId": 2722779, + "groupId": 0, + "title": "7.0-RC-18", + "description": "", + "dueDate": "Sep 12, 2018 2:00:00 AM", + "startDate": "Jul 16, 2018 2:00:00 AM", + "state": "closed" + }, + "assignee": { + "_id": 166231, + "_username": "tchemit", + "_name": "Tony CHEMIT", + "_state": "active", + "_darkScheme": false, + "_isAdmin": false, + "_canCreateGroup": false, + "_canCreateProject": false, + "_canCreateTeam": false, + "_avatarUrl": "https://secure.gravatar.com/avatar/2a915aa9a1df35c8b609ff2f750d5dac?s\u003d…" + }, + "author": { + "_id": 1111318, + "_username": "pcauquil", + "_name": "Pascal Cauquil", + "_state": "active", + "_darkScheme": false, + "_isAdmin": false, + "_canCreateGroup": false, + "_canCreateProject": false, + "_canCreateTeam": false, + "_avatarUrl": "https://secure.gravatar.com/avatar/b4ae117bd93e10d96298fa4d885208ea?s\u003d…" + }, + "state": "closed", + "updatedAt": "Jul 23, 2018 4:57:39 PM", + "createdAt": "Jul 23, 2018 10:22:57 AM" + }, + { + "id": 12862932, + "iid": 1035, + "projectId": 2722779, + "title": "Use a new improved combo box", + "description": "Now to filter, starts your search with ``*``, to get a exact search do as before.\n\nThis should solve all our problems on a such widget (see #1023, #1025, #10259).", + "labels": [ + "Contrat Code Lutin-2016", + "Evolution" + ], + "milestone": { + "id": 595831, + "iid": 121, + "projectId": 2722779, + "groupId": 0, + "title": "7.0-RC-18", + "description": "", + "dueDate": "Sep 12, 2018 2:00:00 AM", + "startDate": "Jul 16, 2018 2:00:00 AM", + "state": "closed" + }, + "assignee": { + "_id": 166231, + "_username": "tchemit", + "_name": "Tony CHEMIT", + "_state": "active", + "_darkScheme": false, + "_isAdmin": false, + "_canCreateGroup": false, + "_canCreateProject": false, + "_canCreateTeam": false, + "_avatarUrl": "https://secure.gravatar.com/avatar/2a915aa9a1df35c8b609ff2f750d5dac?s\u003d…" + }, + "author": { + "_id": 166231, + "_username": "tchemit", + "_name": "Tony CHEMIT", + "_state": "active", + "_darkScheme": false, + "_isAdmin": false, + "_canCreateGroup": false, + "_canCreateProject": false, + "_canCreateTeam": false, + "_avatarUrl": "https://secure.gravatar.com/avatar/2a915aa9a1df35c8b609ff2f750d5dac?s\u003d…" + }, + "state": "closed", + "updatedAt": "Jul 19, 2018 7:12:22 PM", + "createdAt": "Jul 19, 2018 4:29:27 PM" + }, + { + "id": 12841678, + "iid": 1034, + "projectId": 2722779, + "title": "Be able to use server configuration to perform database management", + "description": "There is some new scripts (create/update/drop/update-security)-server.(sh/bat)", + "labels": [ + "Evolution" + ], + "milestone": { + "id": 595831, + "iid": 121, + "projectId": 2722779, + "groupId": 0, + "title": "7.0-RC-18", + "description": "", + "dueDate": "Sep 12, 2018 2:00:00 AM", + "startDate": "Jul 16, 2018 2:00:00 AM", + "state": "closed" + }, + "assignee": { + "_id": 166231, + "_username": "tchemit", + "_name": "Tony CHEMIT", + "_state": "active", + "_darkScheme": false, + "_isAdmin": false, + "_canCreateGroup": false, + "_canCreateProject": false, + "_canCreateTeam": false, + "_avatarUrl": "https://secure.gravatar.com/avatar/2a915aa9a1df35c8b609ff2f750d5dac?s\u003d…" + }, + "author": { + "_id": 166231, + "_username": "tchemit", + "_name": "Tony CHEMIT", + "_state": "active", + "_darkScheme": false, + "_isAdmin": false, + "_canCreateGroup": false, + "_canCreateProject": false, + "_canCreateTeam": false, + "_avatarUrl": "https://secure.gravatar.com/avatar/2a915aa9a1df35c8b609ff2f750d5dac?s\u003d…" + }, + "state": "closed", + "updatedAt": "Jul 18, 2018 11:20:52 PM", + "createdAt": "Jul 18, 2018 11:19:43 PM" + }, { "id": 12729536, "iid": 1032, @@ -13,8 +653,9 @@ "groupId": 0, "title": "7.0-RC-18", "description": "", + "dueDate": "Sep 12, 2018 2:00:00 AM", "startDate": "Jul 16, 2018 2:00:00 AM", - "state": "active" + "state": "closed" }, "assignee": { "_id": 166231, @@ -40,8 +681,8 @@ "_canCreateTeam": false, "_avatarUrl": "https://secure.gravatar.com/avatar/b4ae117bd93e10d96298fa4d885208ea?s\u003d…" }, - "state": "opened", - "updatedAt": "Jul 15, 2018 5:32:54 PM", + "state": "closed", + "updatedAt": "Jul 23, 2018 4:32:14 PM", "createdAt": "Jul 13, 2018 2:47:48 PM" }, { @@ -61,8 +702,9 @@ "groupId": 0, "title": "7.0-RC-18", "description": "", + "dueDate": "Sep 12, 2018 2:00:00 AM", "startDate": "Jul 16, 2018 2:00:00 AM", - "state": "active" + "state": "closed" }, "assignee": { "_id": 166231, @@ -88,8 +730,8 @@ "_canCreateTeam": false, "_avatarUrl": "https://secure.gravatar.com/avatar/b4ae117bd93e10d96298fa4d885208ea?s\u003d…" }, - "state": "opened", - "updatedAt": "Jul 15, 2018 5:32:54 PM", + "state": "closed", + "updatedAt": "Aug 6, 2018 11:46:21 AM", "createdAt": "Jul 5, 2018 7:03:03 PM" }, { @@ -109,8 +751,9 @@ "groupId": 0, "title": "7.0-RC-18", "description": "", + "dueDate": "Sep 12, 2018 2:00:00 AM", "startDate": "Jul 16, 2018 2:00:00 AM", - "state": "active" + "state": "closed" }, "assignee": { "_id": 166231, @@ -136,8 +779,8 @@ "_canCreateTeam": false, "_avatarUrl": "https://secure.gravatar.com/avatar/b4ae117bd93e10d96298fa4d885208ea?s\u003d…" }, - "state": "opened", - "updatedAt": "Jul 15, 2018 5:32:53 PM", + "state": "closed", + "updatedAt": "Aug 6, 2018 11:46:22 AM", "createdAt": "Jul 5, 2018 5:37:34 PM" } ] \ No newline at end of file ===================================== .mvn/gitlab-cache/milestones/595831.json ===================================== @@ -5,6 +5,7 @@ "groupId": 0, "title": "7.0-RC-18", "description": "", + "dueDate": "Sep 12, 2018 2:00:00 AM", "startDate": "Jul 16, 2018 2:00:00 AM", - "state": "active" + "state": "closed" } \ No newline at end of file ===================================== CHANGELOG.md ===================================== @@ -1,7 +1,7 @@ # ObServe changelog * Author [Tony Chemit](mailto:dev@tchemit.fr) - * Last generated at 2018-07-15 17:49. + * Last generated at 2018-09-12 17:47. ## Version [8.0-alpha-2](https://gitlab.com/ultreiaio/ird-observe/milestones/113) Second lot du contrat IRD-2018-01-V8 @@ -48,6 +48,29 @@ Premier lot du contrat IRD-2018-01-V8 * [[Evolution 922]](https://gitlab.com/ultreiaio/ird-observe/issues/922) **Ajoute le référentiel observe_common.DataQuality sur les données existantes** (Thanks to Tony CHEMIT) (Reported by Tony CHEMIT) * [[Evolution 950]](https://gitlab.com/ultreiaio/ird-observe/issues/950) **Renommage de la classe seine.WeightCategory en seine.WeightCategorySeine** (Thanks to Tony CHEMIT) (Reported by Tony CHEMIT) +## Version [7.0-RC-18](https://gitlab.com/ultreiaio/ird-observe/milestones/121) + +**Closed at 2018-09-12.** + +### Download +* [Application (observe-7.0-RC-18.zip)](https://ultreia.io/release/observe-7.0-RC-18.zip) +* [Serveur (observe-7.0-RC-18.war)](https://ultreia.io/release/observe-7.0-RC-18.war) + +### Issues + * [[Anomalie 1025]](https://gitlab.com/ultreiaio/ird-observe/issues/1025) **[LL][SERVER] Sur section Equipement, le racourcis Nouveau (F4) ne fonctionne pas** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil) + * [[Anomalie 1029]](https://gitlab.com/ultreiaio/ird-observe/issues/1029) **[LL][SERVER] Sur section Capture, le racourcis Nouveau (F4) ne fonctionne pas** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil) + * [[Anomalie 1039]](https://gitlab.com/ultreiaio/ird-observe/issues/1039) **[PS] Un classement de liste déroulante est inversé** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil) + * [[Anomalie 1042]](https://gitlab.com/ultreiaio/ird-observe/issues/1042) **La synchro de marée LL et PS entre bases centrales en mode serveur ne fonctionne pas** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil) + * [[Anomalie 1043]](https://gitlab.com/ultreiaio/ird-observe/issues/1043) **Synchro avancée de marées : sélection de marées impossible à droite ?** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil) + * [[Anomalie 1044]](https://gitlab.com/ultreiaio/ird-observe/issues/1044) **Ne peut-on plus choisir entre synchro uni et bidirectionnelle ?** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil) + * [[Anomalie 1046]](https://gitlab.com/ultreiaio/ird-observe/issues/1046) **[PS][LL][DIRECT][SERVEUR] La suppression de marées ne fonctionne pas bien** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil) + * [[Anomalie 1047]](https://gitlab.com/ultreiaio/ird-observe/issues/1047) **La synchro référentiel simple ne fonctionne pas, l'ordre des requetes à executer n'est pas bon** (Thanks to Tony CHEMIT) (Reported by Tony CHEMIT) + * [[Anomalie 1048]](https://gitlab.com/ultreiaio/ird-observe/issues/1048) **La synchronisation des référentiels pourrait ne pas fonctionner sur la suppression de certains référentiels** (Thanks to Tony CHEMIT) (Reported by Tony CHEMIT) + * [[Evolution 1013]](https://gitlab.com/ultreiaio/ird-observe/issues/1013) **Types de mesures par défaut manquants pour 94 espèces dans le référentiel** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil) + * [[Evolution 1034]](https://gitlab.com/ultreiaio/ird-observe/issues/1034) **Be able to use server configuration to perform database management** (Thanks to Tony CHEMIT) (Reported by Tony CHEMIT) + * [[Evolution 1035]](https://gitlab.com/ultreiaio/ird-observe/issues/1035) **Use a new improved combo box** (Thanks to Tony CHEMIT) (Reported by Tony CHEMIT) + * [[Evolution 1041]](https://gitlab.com/ultreiaio/ird-observe/issues/1041) **Affichage du nom de base dans les écrans de synchro avancée** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil) + ## Version [7.0-RC-17](https://gitlab.com/ultreiaio/ird-observe/milestones/120) **Closed at 2018-07-15.** View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/55f1422af6610c6dd4c9f993d90… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/55f1422af6610c6dd4c9f993d90… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop-7.x] 2 commits: [PS][LL][DIRECT][SERVEUR] La suppression de marées ne fonctionne pas bien - Closes #1046
by Tony CHEMIT 12 Sep '18

12 Sep '18
Tony CHEMIT pushed to branch develop-7.x at ultreiaio / ird-observe Commits: 92af3714 by Tony CHEMIT at 2018-09-12T15:37:38Z [PS][LL][DIRECT][SERVEUR] La suppression de marées ne fonctionne pas bien - Closes #1046 - - - - - 97d6a1cb by Tony CHEMIT at 2018-09-12T15:40:09Z La synchro de marée LL et PS entre bases centrales en mode serveur ne fonctionne pas - Closes #1042 - - - - - 3 changed files: - services-local/src/main/java/fr/ird/observe/services/local/service/data/longline/TripLonglineServiceLocal.java - services-local/src/main/java/fr/ird/observe/services/local/service/data/seine/TripSeineServiceLocal.java - services/src/main/java/fr/ird/observe/services/service/data/TripManagementService.java Changes: ===================================== services-local/src/main/java/fr/ird/observe/services/local/service/data/longline/TripLonglineServiceLocal.java ===================================== @@ -210,6 +210,7 @@ public class TripLonglineServiceLocal extends ObserveServiceLocal implements Tri TopiaSqlScript sqlScript = sqlScriptProducerService.produceDeleteSqlScript(sqlRequest); getTopiaPersistenceContext().getSqlSupport().doSqlWork(SqlScriptConsumer.of(sqlScript)); + updateLastUpdateDate(TripLongline.class); } @Override ===================================== services-local/src/main/java/fr/ird/observe/services/local/service/data/seine/TripSeineServiceLocal.java ===================================== @@ -210,6 +210,7 @@ public class TripSeineServiceLocal extends ObserveServiceLocal implements TripSe TopiaSqlScript sqlScript = sqlScriptProducerService.produceDeleteSqlScript(sqlRequest); getTopiaPersistenceContext().getSqlSupport().doSqlWork(SqlScriptConsumer.of(sqlScript)); + updateLastUpdateDate(TripSeine.class); } @Override ===================================== services/src/main/java/fr/ird/observe/services/service/data/TripManagementService.java ===================================== @@ -39,16 +39,16 @@ public interface TripManagementService extends ObserveService { @ReadDataPermission @ReadReferentialPermission - @Post + @Post(timeOut = 120) ExportTripResult exportTrip(ExportTripRequest exportRequest); @WriteDataPermission - @Post + @Post(timeOut = 120) @Write DeleteTripResult deleteTrip(DeleteTripRequest request); @WriteDataPermission - @Post + @Post(timeOut = 120) @Write ImportTripResult importTrip(ImportTripRequest request); View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/compare/e66e81fc83ed08f7958f8fb238… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/compare/e66e81fc83ed08f7958f8fb238… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop-7.x] [PS][LL][DIRECT][SERVEUR] La suppression de marées ne fonctionne pas bien - Closes #1046
by Tony CHEMIT 12 Sep '18

12 Sep '18
Tony CHEMIT pushed to branch develop-7.x at ultreiaio / ird-observe Commits: e66e81fc by Tony CHEMIT at 2018-09-12T15:11:31Z [PS][LL][DIRECT][SERVEUR] La suppression de marées ne fonctionne pas bien - Closes #1046 - - - - - 2 changed files: - services-local/src/main/java/fr/ird/observe/services/local/service/data/longline/TripLonglineServiceLocal.java - services-local/src/main/java/fr/ird/observe/services/local/service/data/seine/TripSeineServiceLocal.java Changes: ===================================== services-local/src/main/java/fr/ird/observe/services/local/service/data/longline/TripLonglineServiceLocal.java ===================================== @@ -25,8 +25,8 @@ package fr.ird.observe.services.local.service.data.longline; import com.google.common.base.Joiner; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; -import fr.ird.observe.dto.data.TripMapPoint; import fr.ird.observe.dto.data.TripMapDto; +import fr.ird.observe.dto.data.TripMapPoint; import fr.ird.observe.dto.data.longline.TripLonglineDto; import fr.ird.observe.dto.data.longline.TripLonglineReference; import fr.ird.observe.dto.form.Form; @@ -42,18 +42,23 @@ import fr.ird.observe.entities.referentiel.Species; import fr.ird.observe.entities.referentiel.Species2; import fr.ird.observe.entities.referentiel.SpeciesList; import fr.ird.observe.persistence.ObserveTopiaPersistenceContext; +import fr.ird.observe.services.local.ObserveServiceContextLocal; import fr.ird.observe.services.local.service.ObserveServiceLocal; import fr.ird.observe.services.local.service.data.TripMapDtoFactory; import fr.ird.observe.services.service.data.longline.TripLonglineService; +import fr.ird.observe.services.service.sql.DeleteSqlScriptProducerRequest; +import fr.ird.observe.services.service.sql.SqlScriptProducerService; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.nuiton.topia.persistence.script.SqlScriptConsumer; +import org.nuiton.topia.persistence.script.TopiaSqlScript; +import org.nuiton.util.DateUtil; + import java.util.ArrayList; -import java.util.Collections; import java.util.Comparator; import java.util.Date; import java.util.LinkedHashSet; import java.util.List; -import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; -import org.nuiton.util.DateUtil; /** * @author Tony Chemit - dev(a)tchemit.fr @@ -62,6 +67,14 @@ public class TripLonglineServiceLocal extends ObserveServiceLocal implements Tri private static final Logger log = LogManager.getLogger(TripLonglineServiceLocal.class); + private SqlScriptProducerService sqlScriptProducerService; + + @Override + public void setServiceContext(ObserveServiceContextLocal serviceContext) { + super.setServiceContext(serviceContext); + sqlScriptProducerService = serviceContext.newService(SqlScriptProducerService.class); + } + @Override public DataDtoReferenceSet<TripLonglineReference> getAllTripLongline() { if (log.isTraceEnabled()) { @@ -191,7 +204,12 @@ public class TripLonglineServiceLocal extends ObserveServiceLocal implements Tri log.trace("delete(" + tripLonglineId + ")"); } - TRIP_LONGLINE_SPI.deleteEntity(getTopiaPersistenceContext(), Collections.singleton(tripLonglineId), this::updateLastUpdateDate); + DeleteSqlScriptProducerRequest sqlRequest = DeleteSqlScriptProducerRequest + .builder() + .dataIdsToDelete(ImmutableSet.of(tripLonglineId)); + TopiaSqlScript sqlScript = sqlScriptProducerService.produceDeleteSqlScript(sqlRequest); + + getTopiaPersistenceContext().getSqlSupport().doSqlWork(SqlScriptConsumer.of(sqlScript)); } @Override ===================================== services-local/src/main/java/fr/ird/observe/services/local/service/data/seine/TripSeineServiceLocal.java ===================================== @@ -25,8 +25,8 @@ package fr.ird.observe.services.local.service.data.seine; import com.google.common.base.Joiner; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; -import fr.ird.observe.dto.data.TripMapPoint; import fr.ird.observe.dto.data.TripMapDto; +import fr.ird.observe.dto.data.TripMapPoint; import fr.ird.observe.dto.data.seine.TripSeineDto; import fr.ird.observe.dto.data.seine.TripSeineReference; import fr.ird.observe.dto.form.Form; @@ -40,18 +40,23 @@ import fr.ird.observe.entities.referentiel.Species; import fr.ird.observe.entities.referentiel.Species2; import fr.ird.observe.entities.referentiel.SpeciesList; import fr.ird.observe.entities.seine.TripSeine; +import fr.ird.observe.services.local.ObserveServiceContextLocal; import fr.ird.observe.services.local.service.ObserveServiceLocal; import fr.ird.observe.services.local.service.data.TripMapDtoFactory; import fr.ird.observe.services.service.data.seine.TripSeineService; +import fr.ird.observe.services.service.sql.DeleteSqlScriptProducerRequest; +import fr.ird.observe.services.service.sql.SqlScriptProducerService; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.nuiton.topia.persistence.script.SqlScriptConsumer; +import org.nuiton.topia.persistence.script.TopiaSqlScript; +import org.nuiton.util.DateUtil; + import java.util.ArrayList; -import java.util.Collections; import java.util.Comparator; import java.util.Date; import java.util.LinkedHashSet; import java.util.List; -import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; -import org.nuiton.util.DateUtil; /** * @author Tony Chemit - dev(a)tchemit.fr @@ -60,6 +65,14 @@ public class TripSeineServiceLocal extends ObserveServiceLocal implements TripSe private static final Logger log = LogManager.getLogger(TripSeineServiceLocal.class); + private SqlScriptProducerService sqlScriptProducerService; + + @Override + public void setServiceContext(ObserveServiceContextLocal serviceContext) { + super.setServiceContext(serviceContext); + sqlScriptProducerService = serviceContext.newService(SqlScriptProducerService.class); + } + @Override public DataDtoReferenceSet<TripSeineReference> getAllTripSeine() { if (log.isTraceEnabled()) { @@ -191,8 +204,12 @@ public class TripSeineServiceLocal extends ObserveServiceLocal implements TripSe log.trace("delete(" + tripSeineId + ")"); } - TRIP_SEINE_SPI.deleteEntity(getTopiaPersistenceContext(), Collections.singleton(tripSeineId), this::updateLastUpdateDate); + DeleteSqlScriptProducerRequest sqlRequest = DeleteSqlScriptProducerRequest + .builder() + .dataIdsToDelete(ImmutableSet.of(tripSeineId)); + TopiaSqlScript sqlScript = sqlScriptProducerService.produceDeleteSqlScript(sqlRequest); + getTopiaPersistenceContext().getSqlSupport().doSqlWork(SqlScriptConsumer.of(sqlScript)); } @Override View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/e66e81fc83ed08f7958f8fb2389… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/e66e81fc83ed08f7958f8fb2389… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop-7.x] La synchronisation des référentiels pourrait ne pas fonctionner sur la…
by Tony CHEMIT 12 Sep '18

12 Sep '18
Tony CHEMIT pushed to branch develop-7.x at ultreiaio / ird-observe Commits: 82296bfa by Tony CHEMIT at 2018-09-12T14:04:00Z La synchronisation des référentiels pourrait ne pas fonctionner sur la suppression de certains référentiels - Closes #1048 - - - - - 4 changed files: - services-local/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeLocalServiceLocal.java - services-local/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/ng/ReferentialSynchronizeSqlsRequestBuilder.java - services-local/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/sql/DeleteSqlStatementGenerator.java - services-local/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/sql/UpdateSqlStatementGenerator.java Changes: ===================================== services-local/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeLocalServiceLocal.java ===================================== @@ -26,11 +26,7 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; import fr.ird.observe.dto.reference.ReferentialDtoReference; import fr.ird.observe.dto.reference.ReferentialDtoReferenceSet; -import fr.ird.observe.dto.referential.GearCaracteristicDto; -import fr.ird.observe.dto.referential.GearDto; -import fr.ird.observe.dto.referential.OceanDto; import fr.ird.observe.dto.referential.ReferentialDto; -import fr.ird.observe.dto.referential.SpeciesDto; import fr.ird.observe.dto.referential.seine.ObjectMaterialDto; import fr.ird.observe.dto.referential.seine.ObjectMaterialHelper; import fr.ird.observe.entities.referentiel.ObserveReferentialEntity; @@ -48,18 +44,19 @@ import fr.ird.observe.services.service.actions.synchro.referential.legacy.Unidir import fr.ird.observe.spi.DbModelHelper; import fr.ird.observe.spi.context.ReferentialDtoEntityContext; import fr.ird.observe.spi.context.ReferentialReferenceEntityContext; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; -import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.nuiton.topia.persistence.TopiaDao; import org.nuiton.topia.persistence.TopiaEntity; import org.nuiton.topia.persistence.metadata.TopiaMetadataEntity; import org.nuiton.topia.persistence.metadata.TopiaMetadataModel; import org.nuiton.topia.persistence.support.TopiaSqlWork; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + /** * Created on 27/06/16. * @@ -163,30 +160,8 @@ public class UnidirectionalReferentialSynchronizeLocalServiceLocal extends Obser DeleteSqlStatementGenerator sqlStatementGenerator = new DeleteSqlStatementGenerator(metadataEntity); for (String id : request.getReferentialToRemove()) { - if (SpeciesDto.class.equals(request.getReferentialName())) { - - // also remove ocean_species association - result.add(sqlStatementGenerator.generateAssociationSql("ocean_species", "species", id)); - - // also remove species_specieslist association - result.add(sqlStatementGenerator.generateAssociationSql("species_specieslist", "species", id)); - } - if (OceanDto.class.equals(request.getReferentialName())) { - - // also remove ocean_species association - result.add(sqlStatementGenerator.generateAssociationSql("ocean_species", "ocean", id)); - } - if (GearDto.class.equals(request.getReferentialName())) { - - // also remove gear_gearcaracteristic association - result.add(sqlStatementGenerator.generateAssociationSql("gear_gearcaracteristic", "gear", id)); - } - if (GearCaracteristicDto.class.equals(request.getReferentialName())) { - - // also remove gear_gearcaracteristic association - result.add(sqlStatementGenerator.generateAssociationSql("gear_gearcaracteristic", "gearcaracteristic", id)); - } - result.add(sqlStatementGenerator.generateSql(id)); + List<String> sql = sqlStatementGenerator.generateSql(id); + result.addAll(sql); } } ===================================== services-local/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/ng/ReferentialSynchronizeSqlsRequestBuilder.java ===================================== @@ -24,12 +24,10 @@ package fr.ird.observe.services.local.service.actions.synchro.referential.ng; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; -import fr.ird.observe.dto.reference.ReferentialDtoReference; -import fr.ird.observe.spi.DbModelHelper; import fr.ird.observe.binder.referential.ReferentialEntityDtoBinderSupport; -import fr.ird.observe.spi.DtoModelClasses; -import fr.ird.observe.dto.referential.ReferentialLocale; +import fr.ird.observe.dto.reference.ReferentialDtoReference; import fr.ird.observe.dto.referential.ReferentialDto; +import fr.ird.observe.dto.referential.ReferentialLocale; import fr.ird.observe.entities.referentiel.ObserveReferentialEntity; import fr.ird.observe.persistence.ObserveEntityEnum; import fr.ird.observe.services.local.service.actions.synchro.referential.sql.DeleteSqlStatementGenerator; @@ -42,15 +40,18 @@ import fr.ird.observe.services.local.service.actions.synchro.referential.sql.Upd import fr.ird.observe.services.service.actions.synchro.referential.ng.ReferentialSynchronizeRequest; import fr.ird.observe.services.service.actions.synchro.referential.ng.ReferentialSynchronizeSqlsRequest; import fr.ird.observe.services.service.actions.synchro.referential.ng.task.ReferentialSynchronizeTask; +import fr.ird.observe.spi.DbModelHelper; +import fr.ird.observe.spi.DtoModelClasses; import fr.ird.observe.spi.context.ReferentialDtoEntityContext; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.nuiton.topia.persistence.metadata.TopiaMetadataEntity; +import org.nuiton.topia.persistence.metadata.TopiaMetadataModel; + import java.util.List; import java.util.Optional; import java.util.Set; import java.util.stream.Collectors; -import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; -import org.nuiton.topia.persistence.metadata.TopiaMetadataEntity; -import org.nuiton.topia.persistence.metadata.TopiaMetadataModel; /** * Created on 14/08/16. @@ -134,7 +135,7 @@ public class ReferentialSynchronizeSqlsRequestBuilder { if (log.isInfoEnabled()) { log.info("Delete: " + deleteTasks.size()); } - onDelete(referentialName, referenceType, deleteTasks, binder); + onDelete(referentialName, referenceType, deleteTasks); Set<ReferentialSynchronizeTask<R>> desactivateTasks = request.getDesactivateTasks(referenceType); if (log.isInfoEnabled()) { @@ -258,7 +259,7 @@ public class ReferentialSynchronizeSqlsRequestBuilder { } - private <D extends ReferentialDto, R extends ReferentialDtoReference<D, R>, E extends ObserveReferentialEntity> void onDelete(String referentialName, Class<R> type, Set<ReferentialSynchronizeTask<R>> tasks, ReferentialEntityDtoBinderSupport<D, E> binder) { + private <D extends ReferentialDto, R extends ReferentialDtoReference<D, R>, E extends ObserveReferentialEntity> void onDelete(String referentialName, Class<R> type, Set<ReferentialSynchronizeTask<R>> tasks) { TopiaMetadataEntity metadata = metadataModel.getEntity(referentialName); @@ -271,16 +272,14 @@ public class ReferentialSynchronizeSqlsRequestBuilder { Optional<String> replaceReferentialId = task.getOptionalReplaceReferentialId(); if (replaceReferentialId.isPresent()) { ImmutableList<String> sqls = replaceGenerator.generateSqls(referentialId, replaceReferentialId.get()); - for (String sql : sqls) { - resultBuilder.addDeleteStatement(sql); - } + sqls.forEach(resultBuilder::addDeleteStatement); } - String sql = deleteGenerator.generateSql(referentialId); + List<String> sql = deleteGenerator.generateSql(referentialId); if (log.isInfoEnabled()) { log.info("Delete referential: " + type.getName() + " / " + referentialId + " -- " + sql); } - resultBuilder.addDeleteStatement(sql); + sql.forEach(resultBuilder::addDeleteStatement); } } ===================================== services-local/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/sql/DeleteSqlStatementGenerator.java ===================================== @@ -10,22 +10,30 @@ package fr.ird.observe.services.local.service.actions.synchro.referential.sql; * it under the terms of the GNU General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. - * + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - * + * * You should have received a copy of the GNU General Public * License along with this program. If not, see * <http://www.gnu.org/licenses/gpl-3.0.html>. * #L% */ -import org.apache.logging.log4j.Logger; +import com.google.common.collect.ImmutableList; +import fr.ird.observe.services.local.service.actions.synchro.referential.sql.UpdateSqlStatementGenerator.ManyToManyAssociationStruct; import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.nuiton.topia.persistence.metadata.TopiaMetadataEntity; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Map; + +import static fr.ird.observe.services.local.service.actions.synchro.referential.sql.UpdateSqlStatementGenerator.MANY_TO_MANY_ASSOCIATION_DELETE_STATEMENT; + /** * Pour générer une requète sql de suppression à partir d'un référentiel donné. * <p> @@ -43,34 +51,48 @@ public class DeleteSqlStatementGenerator { private final String schemaName; private final String tableName; + private final LinkedHashSet<ManyToManyAssociationStruct> manyToManyAssociations; public DeleteSqlStatementGenerator(TopiaMetadataEntity metadataEntity) { this.schemaName = metadataEntity.getDbSchemaName(); this.tableName = metadataEntity.getDbTableName(); + Map<String, String> manyToManyAssociationsMap = metadataEntity.getManyToManyAssociations(); + this.manyToManyAssociations = new LinkedHashSet<>(); + for (Map.Entry<String, String> entry : manyToManyAssociationsMap.entrySet()) { + String propertyName = entry.getKey(); + String dbColumnName = metadataEntity.getDbColumnName(propertyName); + String tableName = metadataEntity.getBdManyToManyAssociationTableName(propertyName); + ManyToManyAssociationStruct manyToManyAssociation = new ManyToManyAssociationStruct(propertyName, dbColumnName, tableName); + manyToManyAssociations.add(manyToManyAssociation); + } } - public String generateSql(String id) { - - String result = String.format(DELETE_STATEMENT, schemaName, tableName, id); - + public List<String> generateSql(String id) { + ImmutableList.Builder<String> result = ImmutableList.builder(); + String sql = String.format(DELETE_STATEMENT, schemaName, tableName, id); if (log.isDebugEnabled()) { - log.debug("sql: " + result); + log.debug("sql: " + sql); } - - return result; - + result.add(sql); + for (ManyToManyAssociationStruct manyToManyAssociation : manyToManyAssociations) { + generateManyToManyAssociationSql(id, manyToManyAssociation, result); + } + return result.build(); } - public String generateAssociationSql(String tableName, String columnName, String id) { + private void generateManyToManyAssociationSql(String referentialDtoId, ManyToManyAssociationStruct manyToManyAssociation, ImmutableList.Builder<String> result) { - String result = String.format(DELETE_ASSOCIATION_STATEMENT, schemaName, tableName, columnName, id); + String manyToManyAssociationTableName = manyToManyAssociation.tableName; + // On commence toujours par supprimer toutes les anciennes associations, elles seront ré-ajoutées juste après + String deleteSql = String.format(MANY_TO_MANY_ASSOCIATION_DELETE_STATEMENT, + schemaName, + manyToManyAssociationTableName, + tableName, + referentialDtoId); + result.add(deleteSql); if (log.isDebugEnabled()) { - log.debug("sql: " + result); + log.debug("sql: " + deleteSql); } - - return result; - } - } ===================================== services-local/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/sql/UpdateSqlStatementGenerator.java ===================================== @@ -57,7 +57,7 @@ public class UpdateSqlStatementGenerator<D extends ReferentialDto> { private static final String UPDATE_STATEMENT = "UPDATE %s.%s SET %s WHERE topiaId ='%s';\n"; // We use a special prefix because those requests must be applied before all simple insert requests - private static final String MANY_TO_MANY_ASSOCIATION_DELETE_STATEMENT = "$$_DELETE FROM %s.%s WHERE %s = '%s';\n"; + static final String MANY_TO_MANY_ASSOCIATION_DELETE_STATEMENT = "$$_DELETE FROM %s.%s WHERE %s = '%s';\n"; private final Map<String, String> columnNames; private final String schemaName; @@ -329,7 +329,7 @@ public class UpdateSqlStatementGenerator<D extends ReferentialDto> { /** * Pour décrire une association nm. */ - private static class ManyToManyAssociationStruct { + static class ManyToManyAssociationStruct { /** * Le nom de la propriété dans l'objet. @@ -342,9 +342,9 @@ public class UpdateSqlStatementGenerator<D extends ReferentialDto> { /** * Le nom de la table d'association. */ - private final String tableName; + final String tableName; - private ManyToManyAssociationStruct(String propertyName, String dbColumnName, String tableName) { + ManyToManyAssociationStruct(String propertyName, String dbColumnName, String tableName) { this.propertyName = propertyName; this.dbColumnName = dbColumnName; this.tableName = tableName; View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/82296bfa2b4972bf1ead88b2d2a… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/82296bfa2b4972bf1ead88b2d2a… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop-7.x] La synchro référentiel simple ne fonctionne pas, l'ordre des requetes à executer…
by Tony CHEMIT 12 Sep '18

12 Sep '18
Tony CHEMIT pushed to branch develop-7.x at ultreiaio / ird-observe Commits: 13700605 by Tony CHEMIT at 2018-09-12T12:38:59Z La synchro référentiel simple ne fonctionne pas, l&#39;ordre des requetes à executer n&#39;est pas bon - Closes #1047 - - - - - 3 changed files: - services-local/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/sql/InsertSqlStatementGenerator.java - services-local/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/sql/UpdateSqlStatementGenerator.java - services/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeEngine.java Changes: ===================================== services-local/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/sql/InsertSqlStatementGenerator.java ===================================== @@ -24,9 +24,17 @@ package fr.ird.observe.services.local.service.actions.synchro.referential.sql; import com.google.common.collect.ImmutableList; import fr.ird.observe.dto.reference.ReferentialDtoReference; -import fr.ird.observe.spi.DbModelHelper; import fr.ird.observe.dto.referential.ReferentialDto; import fr.ird.observe.persistence.ObserveEntityEnum; +import fr.ird.observe.spi.DbModelHelper; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.nuiton.topia.persistence.TopiaEntity; +import org.nuiton.topia.persistence.metadata.TopiaMetadataEntity; +import org.nuiton.util.beans.Binder; +import org.nuiton.util.beans.BinderFactory; + import java.sql.Timestamp; import java.util.Collection; import java.util.Date; @@ -35,13 +43,6 @@ import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.Set; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; -import org.nuiton.topia.persistence.TopiaEntity; -import org.nuiton.topia.persistence.metadata.TopiaMetadataEntity; -import org.nuiton.util.beans.Binder; -import org.nuiton.util.beans.BinderFactory; /** * Pour générer une requète sql d'ajout à partir d'un référentiel donné. @@ -56,7 +57,8 @@ public class InsertSqlStatementGenerator<D extends ReferentialDto> { private static final Logger log = LogManager.getLogger(InsertSqlStatementGenerator.class); private static final String INSERT_STATEMENT = "INSERT INTO %s.%s(%s) VALUES (%s);\n"; - private static final String NM_ASSOCIATION_INSERT_STATEMENT = "INSERT INTO %s.%s(%s, %s) VALUES ('%s', '%s');\n"; + // We use a special prefix because those requests must be applied after all simple insert requests + public static final String MANY_TO_MANY_ASSOCIATION_INSERT_STATEMENT = "$$_INSERT INTO %s.%s(%s, %s) VALUES ('%s', '%s');\n"; private final Set<String> columnNames; private final String schemaName; @@ -207,7 +209,7 @@ public class InsertSqlStatementGenerator<D extends ReferentialDto> { String associationId, ImmutableList.Builder<String> builder) { - String sql = String.format(NM_ASSOCIATION_INSERT_STATEMENT, + String sql = String.format(MANY_TO_MANY_ASSOCIATION_INSERT_STATEMENT, schemaName, nmAssociationTableName, this.tableName, ===================================== services-local/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/sql/UpdateSqlStatementGenerator.java ===================================== @@ -25,6 +25,14 @@ package fr.ird.observe.services.local.service.actions.synchro.referential.sql; import com.google.common.collect.ImmutableList; import fr.ird.observe.dto.reference.ReferentialDtoReference; import fr.ird.observe.dto.referential.ReferentialDto; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.nuiton.topia.persistence.TopiaEntity; +import org.nuiton.topia.persistence.metadata.TopiaMetadataEntity; +import org.nuiton.util.beans.Binder; +import org.nuiton.util.beans.BinderFactory; + import java.sql.Timestamp; import java.util.Collection; import java.util.Date; @@ -32,13 +40,8 @@ import java.util.LinkedHashSet; import java.util.Map; import java.util.Set; import java.util.TreeMap; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; -import org.nuiton.topia.persistence.TopiaEntity; -import org.nuiton.topia.persistence.metadata.TopiaMetadataEntity; -import org.nuiton.util.beans.Binder; -import org.nuiton.util.beans.BinderFactory; + +import static fr.ird.observe.services.local.service.actions.synchro.referential.sql.InsertSqlStatementGenerator.MANY_TO_MANY_ASSOCIATION_INSERT_STATEMENT; /** * Pour générer une requète sql de mise à jour à partir d'un référentiel donné. @@ -53,8 +56,8 @@ public class UpdateSqlStatementGenerator<D extends ReferentialDto> { private static final Logger log = LogManager.getLogger(UpdateSqlStatementGenerator.class); private static final String UPDATE_STATEMENT = "UPDATE %s.%s SET %s WHERE topiaId ='%s';\n"; - private static final String MANY_TO_MANY_ASSOCIATION_DELETE_STATEMENT = "DELETE FROM %s.%s WHERE %s = '%s';\n"; - private static final String MANY_TO_MANY_ASSOCIATION_INSERT_STATEMENT = "INSERT INTO %s.%s(%s, %s) VALUES ('%s', '%s');\n"; + // We use a special prefix because those requests must be applied before all simple insert requests + private static final String MANY_TO_MANY_ASSOCIATION_DELETE_STATEMENT = "$$_DELETE FROM %s.%s WHERE %s = '%s';\n"; private final Map<String, String> columnNames; private final String schemaName; ===================================== services/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeEngine.java ===================================== @@ -23,21 +23,22 @@ package fr.ird.observe.services.service.actions.synchro.referential.legacy; */ import com.google.common.collect.ImmutableSet; -import fr.ird.observe.spi.DtoModelHelper; -import fr.ird.observe.spi.DtoModelClasses; import fr.ird.observe.dto.reference.DtoReferenceDefinition; -import fr.ird.observe.dto.reference.ReferentialDtoReferenceSet; import fr.ird.observe.dto.reference.ReferentialDtoReference; +import fr.ird.observe.dto.reference.ReferentialDtoReferenceSet; import fr.ird.observe.dto.referential.ReferentialDto; import fr.ird.observe.services.service.actions.synchro.referential.diff.ReferentialSynchronizeDiffState; import fr.ird.observe.services.service.actions.synchro.referential.diff.ReferentialSynchronizeDiffs; import fr.ird.observe.services.service.actions.synchro.referential.diff.ReferentialSynchronizeDiffsEngine; +import fr.ird.observe.spi.DtoModelClasses; +import fr.ird.observe.spi.DtoModelHelper; +import org.apache.commons.collections4.CollectionUtils; + import java.util.LinkedHashSet; import java.util.Map; import java.util.Optional; import java.util.Set; import java.util.stream.Collectors; -import org.apache.commons.collections4.CollectionUtils; /** * Created on 28/06/16. @@ -90,6 +91,8 @@ public class UnidirectionalReferentialSynchronizeEngine { UnidirectionalReferentialSynchronizeResult result = new UnidirectionalReferentialSynchronizeResult(); Set<String> insertSqlRequests = new LinkedHashSet<>(); + Set<String> insertAssociationSqlRequests = new LinkedHashSet<>(); + Set<String> deleteAssociationSqlRequests = new LinkedHashSet<>(); Set<String> updateSqlRequests = new LinkedHashSet<>(); Set<String> deleteSqlRequests = new LinkedHashSet<>(); @@ -126,8 +129,11 @@ public class UnidirectionalReferentialSynchronizeEngine { if (sqlStatement.startsWith("INSERT")) { insertSqlRequests.add(sqlStatement); - } - if (sqlStatement.startsWith("UPDATE")) { + } else if (sqlStatement.startsWith("$$_INSERT")) { + insertAssociationSqlRequests.add(sqlStatement.substring(3)); + } else if (sqlStatement.startsWith("$$_DELETE")) { + deleteAssociationSqlRequests.add(sqlStatement.substring(3)); + } else if (sqlStatement.startsWith("UPDATE")) { updateSqlRequests.add(sqlStatement); } else { deleteSqlRequests.add(sqlStatement); @@ -135,7 +141,9 @@ public class UnidirectionalReferentialSynchronizeEngine { } } + sqlRequests.addAll(deleteAssociationSqlRequests); sqlRequests.addAll(insertSqlRequests); + sqlRequests.addAll(insertAssociationSqlRequests); sqlRequests.addAll(updateSqlRequests); sqlRequests.addAll(deleteSqlRequests); View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/1370060583b65385bb4ca6906f9… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/1370060583b65385bb4ca6906f9… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop-7.x] correction suite à la suppression d'un objet openable
by Tony CHEMIT 11 Sep '18

11 Sep '18
Tony CHEMIT pushed to branch develop-7.x at ultreiaio / ird-observe Commits: 1a354580 by Tony CHEMIT at 2018-09-11T15:07:15Z correction suite à la suppression d&#39;un objet openable - - - - - 1 changed file: - client/src/main/java/fr/ird/observe/client/ui/content/open/ContentOpenableUIHandler.java Changes: ===================================== client/src/main/java/fr/ird/observe/client/ui/content/open/ContentOpenableUIHandler.java ===================================== @@ -36,8 +36,8 @@ import fr.ird.observe.client.validation.ClientValidationContext; import fr.ird.observe.dto.data.DataDto; import fr.ird.observe.dto.data.longline.TripLonglineDto; import fr.ird.observe.dto.data.seine.TripSeineDto; -import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.nuiton.validator.NuitonValidatorScope; import static org.nuiton.i18n.I18n.t; @@ -122,9 +122,9 @@ public abstract class ContentOpenableUIHandler<E extends DataDto, U extends Cont @Override protected void afterDelete() { - super.afterDelete(); NavigationTree treeHelper = getNavigationTree(); NavigationTreeNodeSupport parent = treeHelper.getSelectedNode().getParent(); + super.afterDelete(); if (!(parent instanceof ReferenceNavigationTreeNodeSupport)) { parent = parent.getParent(); } View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/1a354580e650d3967f79b8ff926… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/1a354580e650d3967f79b8ff926… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop-7.x] 6 commits: [PS] Un classement de liste déroulante est inversé - Closes #1039
by Tony CHEMIT 11 Sep '18

11 Sep '18
Tony CHEMIT pushed to branch develop-7.x at ultreiaio / ird-observe Commits: 81475e9b by Tony CHEMIT at 2018-09-11T11:59:59Z [PS] Un classement de liste déroulante est inversé - Closes #1039 - - - - - b302a443 by Tony CHEMIT at 2018-09-11T12:01:02Z add license headers - - - - - d3be666d by Tony CHEMIT at 2018-09-11T13:08:26Z Affichage du nom de base dans les écrans de synchro avancée - Closes #1041 - - - - - f2ac1c8a by Tony CHEMIT at 2018-09-11T13:40:23Z Synchro avancée de marées : sélection de marées impossible à droite ? - Closes #1043 - - - - - 29518b8f by Tony CHEMIT at 2018-09-11T14:28:01Z [PS] Un libellé à corriger - Closes #1040 - - - - - 229c9061 by Tony CHEMIT at 2018-09-11T14:38:37Z Types de mesures par défaut manquants pour 94 espèces dans le référentiel - Closes #1013 - - - - - 14 changed files: - client/src/main/java/fr/ird/observe/client/ui/content/ContentListUIObserveLayoutFocusTraversalPolicy.java - client/src/main/java/fr/ird/observe/client/ui/content/ObserveLayoutFocusTraversalPolicy.java - client/src/main/java/fr/ird/observe/client/ui/storage/StorageUIModel.java - client/src/main/java/fr/ird/observe/client/ui/tree/selection/SelectionTree.java - client/src/main/resources/i18n/client_en_GB.properties - client/src/main/resources/i18n/client_es_ES.properties - client/src/main/resources/i18n/client_fr_FR.properties - dto/src/main/java/fr/ird/observe/binder/referential/seine/WeightCategoryDtoReferenceBinder.java - persistence/src/main/java/fr/ird/observe/binder/referential/seine/WeightCategoryEntityDtoBinder.java - persistence/src/main/java/fr/ird/observe/binder/referential/seine/WeightCategoryEntityReferenceBinder.java - persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_6_0.java - validation/src/main/resources/i18n/validation_en_GB.properties - validation/src/main/resources/i18n/validation_es_ES.properties - validation/src/main/resources/i18n/validation_fr_FR.properties Changes: ===================================== client/src/main/java/fr/ird/observe/client/ui/content/ContentListUIObserveLayoutFocusTraversalPolicy.java ===================================== @@ -1,5 +1,27 @@ package fr.ird.observe.client.ui.content; +/*- + * #%L + * ObServe :: Client + * %% + * Copyright (C) 2008 - 2018 IRD, Code Lutin, Ultreia.io + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ + import fr.ird.observe.client.ui.content.list.ContentListUI; import javax.swing.JComponent; ===================================== client/src/main/java/fr/ird/observe/client/ui/content/ObserveLayoutFocusTraversalPolicy.java ===================================== @@ -1,5 +1,27 @@ package fr.ird.observe.client.ui.content; +/*- + * #%L + * ObServe :: Client + * %% + * Copyright (C) 2008 - 2018 IRD, Code Lutin, Ultreia.io + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ + import fr.ird.observe.client.ui.content.open.ContentOpenableUI; import fr.ird.observe.client.ui.content.ref.ContentReferenceUI; import fr.ird.observe.client.ui.content.table.ContentTableUI; ===================================== client/src/main/java/fr/ird/observe/client/ui/storage/StorageUIModel.java ===================================== @@ -8,12 +8,12 @@ * it under the terms of the GNU General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. - * + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - * + * * You should have received a copy of the GNU General Public * License along with this program. If not, see * <http://www.gnu.org/licenses/gpl-3.0.html>. @@ -57,8 +57,8 @@ import fr.ird.observe.services.service.sql.AddSqlScriptProducerRequest; import fr.ird.observe.services.service.sql.SqlScriptProducerService; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.tuple.Pair; -import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.nuiton.jaxx.runtime.JAXXContext; import org.nuiton.jaxx.runtime.swing.wizard.WizardModel; import org.nuiton.jaxx.runtime.swing.wizard.WizardUILancher; @@ -74,6 +74,7 @@ import java.net.URL; import java.util.ArrayList; import java.util.List; import java.util.Objects; +import java.util.Optional; import java.util.Set; import static fr.ird.observe.client.ui.admin.AdminUIModel.LOG_PROPERTY_CHANGE_LISTENER; @@ -631,7 +632,7 @@ public class StorageUIModel extends WizardModel<StorageStep> { public void setCanUseLocalService(boolean canUseLocalService) { this.canUseLocalService = canUseLocalService; firePgConfigChanged(CAN_USE_LOCALE_SERVICE_PROPERTY_NAME, null, - canUseLocalService); + canUseLocalService); } public boolean isCanCreateLocalService() { @@ -641,7 +642,7 @@ public class StorageUIModel extends WizardModel<StorageStep> { public void setCanCreateLocalService(boolean canCreateLocalService) { this.canCreateLocalService = canCreateLocalService; firePgConfigChanged(CAN_CREATE_LOCALE_SERVICE_PROPERTY_NAME, null, - canCreateLocalService); + canCreateLocalService); } public boolean isCanUseRemoteService() { @@ -700,8 +701,8 @@ public class StorageUIModel extends WizardModel<StorageStep> { CreationMode oldValue = this.referentielImportMode; this.referentielImportMode = referentielImportMode; firePropertyChange(REFERENTIEL_IMPORT_MODE_PROPERTY_NAME, - oldValue, - referentielImportMode); + oldValue, + referentielImportMode); if (oldValue != referentielImportMode) { updateUniverse(); @@ -717,8 +718,8 @@ public class StorageUIModel extends WizardModel<StorageStep> { CreationMode oldValue = this.dataImportMode; this.dataImportMode = dataImportMode; firePropertyChange(DATA_IMPORT_MODE_PROPERTY_NAME, - oldValue, - dataImportMode); + oldValue, + dataImportMode); if (oldValue != dataImportMode) { // reset selected data to import @@ -1109,6 +1110,8 @@ public class StorageUIModel extends WizardModel<StorageStep> { break; case USE_SERVER: txt = restConfig.getServerUrl() == null ? "" : restConfig.getServerUrl().toString(); + Optional<String> optionalDatabaseName = restConfig.getOptionalDatabaseName(); + txt += " - " + t("observe.storage.server.dataBase.name") + " " + (optionalDatabaseName.orElse(t("observe.storage.server.default.dataBase"))); break; case USE_REMOTE: txt = pgConfig.getJdbcUrl(); ===================================== client/src/main/java/fr/ird/observe/client/ui/tree/selection/SelectionTree.java ===================================== @@ -97,6 +97,14 @@ public class SelectionTree extends JXTree { } } }); + oppositeTree.addMouseListener(new MouseAdapter() { + @Override + public void mouseClicked(MouseEvent e) { + if (e.getClickCount() == 2) { + oppositeTree.selectUnSelectWithOpposite(SelectionTree.this); + } + } + }); } private void selectUnSelectWithOpposite(SelectionTree oppositeTree) { ===================================== client/src/main/resources/i18n/client_en_GB.properties ===================================== @@ -1444,7 +1444,9 @@ observe.storage.report.no.create.mode=Create mode not needed observe.storage.required.rw.on.data=You don't have sufficient credentials to perform this operation.\n\nTo perform this operation, you need Read/Write permissions on data. observe.storage.security.administrateur=Owner of database observe.storage.server.dataBase=Databases +observe.storage.server.dataBase.name=Database observe.storage.server.db=(remote server) +observe.storage.server.default.dataBase=default observe.storage.server.presets.title=Remote servers observe.storage.server.sessionExpire=Server connexion is no more active. You can\n\n\t - Close server connexion, \n\t - Change data source, \n\t - Re-connect to server.\n\n BE WARE \: Local modifications will be lost\! observe.storage.server.sessionExpire.change=Change ===================================== client/src/main/resources/i18n/client_es_ES.properties ===================================== @@ -1444,7 +1444,9 @@ observe.storage.report.no.create.mode=No se necesita seleccionar un modo de crea observe.storage.required.rw.on.data=No tiene los permisos necesarios para realizar esta operación.\n\nDebe tener permios de lectura y escritura de los datos del obaservador. observe.storage.security.administrateur=Propietario de la base observe.storage.server.dataBase=Base de datos +observe.storage.server.dataBase.name=Database \#TODO observe.storage.server.db=(servidor remoto) +observe.storage.server.default.dataBase=default \#TODO observe.storage.server.presets.title=Serveurs distants \#TODO observe.storage.server.sessionExpire=La conexión con el servidor ya no está activa. Qué quiere hacer ?\n\n\t - Cerrar la conexión con el servidor, \n\t - Cambiar de fuente de datos, \n\t - Se re-connectar con el servidor.\n\n CUIDADO \: Las modificaciones en curso se perderán \! observe.storage.server.sessionExpire.change=Cambiar ===================================== client/src/main/resources/i18n/client_fr_FR.properties ===================================== @@ -1444,7 +1444,9 @@ observe.storage.report.no.create.mode=Mode de création de base non requis observe.storage.required.rw.on.data=Vous n'avez pas les droits suffisants pour effectuer cette opération.\n\nPour effectuer cette opération vous devez avoir les droits de lecture et d'écriture sur les données observateur. observe.storage.security.administrateur=Propriétaire de la base observe.storage.server.dataBase=Base de données +observe.storage.server.dataBase.name=Base observe.storage.server.db=(serveur distant) +observe.storage.server.default.dataBase=par défaut observe.storage.server.presets.title=Serveurs distants observe.storage.server.sessionExpire=La connexion avec le serveur n'est plus active. Que voulez-faire ?\n\n\t - Fermer la connexion avec le serveur, \n\t - Changer de source de données, \n\t - Se re-conncter au serveur.\n\n ATTENTION \: Les modifications en cours seront perdu \! observe.storage.server.sessionExpire.change=Changer ===================================== dto/src/main/java/fr/ird/observe/binder/referential/seine/WeightCategoryDtoReferenceBinder.java ===================================== @@ -41,8 +41,9 @@ public class WeightCategoryDtoReferenceBinder extends ReferentialDtoReferenceBin @Override public WeightCategoryReference toReference(ReferentialLocale referentialLocale, WeightCategoryDto dto) { - return new WeightCategoryReference(dto, dto.getLabel(referentialLocale), + return new WeightCategoryReference(dto, dto.getCode(), + dto.getLabel(referentialLocale), dto.getSpecies().getId()); } ===================================== persistence/src/main/java/fr/ird/observe/binder/referential/seine/WeightCategoryEntityDtoBinder.java ===================================== @@ -40,22 +40,16 @@ public class WeightCategoryEntityDtoBinder extends ReferentialEntityDtoBinderSup @Override public void copyToEntity(ReferentialLocale referentialLocale, WeightCategoryDto dto, WeightCategory entity) { - - copyDtoReferentialFieldsToEntity(dto, entity); copyDtoI18nFieldsToEntity(dto, entity); entity.setSpecies(toEntity(dto.getSpecies())); - } @Override public void copyToDto(ReferentialLocale referentialLocale, WeightCategory entity, WeightCategoryDto dto) { - - copyEntityReferentialFieldsToDto(entity, dto); copyEntityI18nFieldsToDto(entity, dto); dto.setSpecies(toReferentialReference(referentialLocale, entity.getSpecies())); - } } ===================================== persistence/src/main/java/fr/ird/observe/binder/referential/seine/WeightCategoryEntityReferenceBinder.java ===================================== @@ -41,10 +41,9 @@ public class WeightCategoryEntityReferenceBinder extends ReferentialEntityRefere @Override public WeightCategoryReference toReference(ReferentialLocale referentialLocale, WeightCategory dto) { - - return new WeightCategoryReference(dto, dto.getLabel(referentialLocale), + return new WeightCategoryReference(dto, dto.getCode(), + dto.getLabel(referentialLocale), dto.getSpecies().getTopiaId()); - } } ===================================== persistence/src/main/java/fr/ird/observe/persistence/migration/DataSourceMigrationForVersion_6_0.java ===================================== @@ -205,6 +205,7 @@ public class DataSourceMigrationForVersion_6_0 extends MigrationVersionResource .put("DML", "fr.ird.observe.entities.referentiel.SizeMeasureType#1433499470887#0.950930784922093") .put("CDML", "fr.ird.observe.entities.referentiel.SizeMeasureType#1433499471278#0.425988764036447") .put("PFL", "fr.ird.observe.entities.referentiel.SizeMeasureType#1433499472220#0.885759855154902") + .put("SCL", "fr.ird.observe.entities.referentiel.SizeMeasureType#1479120383659#0.03964411579456617") .build(); ImmutableMap.Builder<String, String> existingSizeMeasureMappingBuilder = ImmutableMap.builder(); ===================================== validation/src/main/resources/i18n/validation_en_GB.properties ===================================== @@ -31,7 +31,7 @@ observe.common.ActivitySeineDto.vesselSpeed=Vessel speed observe.common.ActivitySeineDto.wind=Wind observe.common.BaitsCompositionDto.baitSettingStatus=Bait setting status observe.common.BaitsCompositionDto.baitType=Bait type -observe.common.BaitsCompositionDto.individualSize=Size +observe.common.BaitsCompositionDto.individualSize=Size (cm) observe.common.BaitsCompositionDto.individualWeight=Weight observe.common.BaitsCompositionDto.proportion=Proportion observe.common.BasketDto.floatline1Length=floatline 1 length @@ -258,7 +258,7 @@ observe.common.TargetCatchDto.species=Species observe.common.TargetCatchDto.weightCategory=Weight category observe.common.TargetCatchDto.well=Well observe.common.TargetLengthDto.count=Count -observe.common.TargetLengthDto.length=Length +observe.common.TargetLengthDto.length=Length (cm) observe.common.TargetLengthDto.sex=Sex observe.common.TargetLengthDto.sizeMeasureType=Size measure type observe.common.TargetLengthDto.species=Species ===================================== validation/src/main/resources/i18n/validation_es_ES.properties ===================================== @@ -260,7 +260,7 @@ observe.common.TargetCatchDto.species=Especie observe.common.TargetCatchDto.weightCategory=Categoría de peso observe.common.TargetCatchDto.well=Cuba observe.common.TargetLengthDto.count=Número -observe.common.TargetLengthDto.length=Longitud eslora total +observe.common.TargetLengthDto.length=Tamaño (cm) observe.common.TargetLengthDto.sex=Sexo observe.common.TargetLengthDto.sizeMeasureType=Tipo de medida observe.common.TargetLengthDto.species=Especie ===================================== validation/src/main/resources/i18n/validation_fr_FR.properties ===================================== @@ -258,7 +258,7 @@ observe.common.TargetCatchDto.species=Espèce observe.common.TargetCatchDto.weightCategory=Catégorie de poids observe.common.TargetCatchDto.well=Cuve observe.common.TargetLengthDto.count=Nombre -observe.common.TargetLengthDto.length=Longueur hors tout +observe.common.TargetLengthDto.length=Taille (en cm) observe.common.TargetLengthDto.sex=Sexe observe.common.TargetLengthDto.sizeMeasureType=Type de mensuration observe.common.TargetLengthDto.species=Espèce View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/compare/33431054908f662dd6a687b3b1… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/compare/33431054908f662dd6a687b3b1… You're receiving this email because of your account on gitlab.com.
1 0
0 0
  • ← Newer
  • 1
  • ...
  • 12
  • 13
  • 14
  • 15
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.