branch develop-5.x updated (b40b4a1 -> fed98e0)
This is an automated email from the git hooks/post-receive script. New change to branch develop-5.x in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git from b40b4a1 [jgitflow-maven-plugin]Updating develop poms back to pre merge state new cf888e3 Classement des marées dans l'arbre (fixes #8861) new 6215985 Impossible d'exporter des marées en mode serveur (Fixes #8862) new b8e381e Problème de chargement du fichier des talbeaux de synthèse (Fixes #8865) new d4f2db8 Mémorisation du dernier dossier utilisé (Fixes #8864) new ee023b2 [persistence] Toujours utiliser la configuration hibernate customisé même pour les services de topia (Fixes #8868) new 786cb56 [stack] updates to guava 20.0 new fed98e0 L'application ne gère pas bien le rappel du formulaire ouvert (Fixes #8858) The 7 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit fed98e069d011b16f9012da5d21f5fc102bd0233 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 10 16:10:58 2016 +0100 L'application ne gère pas bien le rappel du formulaire ouvert (Fixes #8858) commit 786cb56829fa485cf7f868b7f4fdf7cddd177f03 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 10 15:55:13 2016 +0100 [stack] updates to guava 20.0 commit ee023b2817b4022a5faa36761f18ea12cce5cb80 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 10 15:54:33 2016 +0100 [persistence] Toujours utiliser la configuration hibernate customisé même pour les services de topia (Fixes #8868) commit d4f2db82d0783e5d59d5afbdf817a611d552a426 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 10 13:27:54 2016 +0100 Mémorisation du dernier dossier utilisé (Fixes #8864) commit b8e381e6d08bc6cbe80d8c2c3309628589fe2a25 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 10 13:01:08 2016 +0100 Problème de chargement du fichier des talbeaux de synthèse (Fixes #8865) commit 62159851ad43de078968b66e6ee8b8e05056a747 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 10 12:49:51 2016 +0100 Impossible d'exporter des marées en mode serveur (Fixes #8862) commit cf888e3f3ddd959ea84dce07e74a5df87c5b975e Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 10 11:13:34 2016 +0100 Classement des marées dans l'arbre (fixes #8861) Summary of changes: .../src/main/config/ObserveSwingApplication.ini | 8 ++++ ...pplication-swing-configuration_en_GB.properties | 1 + ...pplication-swing-configuration_es_ES.properties | 1 + ...pplication-swing-configuration_fr_FR.properties | 1 + .../ui/actions/ImportStorageFromFileAction.java | 8 ++++ .../swing/ui/actions/ShowConfigAction.java | 1 + .../application/swing/ui/admin/AdminUIModel.java | 6 +-- .../swing/ui/admin/report/ReportModel.java | 3 +- .../list/impl/longline/TripLonglinesUIHandler.java | 13 +++--- .../list/impl/seine/TripSeinesUIHandler.java | 13 +++--- .../ui/content/open/ContentOpenableUIHandler.java | 15 +++++++ .../swing/ui/storage/tabs/DataSelectionModel.java | 14 +++---- .../swing/ui/tree/ObserveTreeHelper.java | 5 +-- .../loadors/ProgramLonglineNodeChildLoador.java | 4 +- .../tree/loadors/ProgramSeineNodeChildLoador.java | 4 +- .../v1/longline/TripLonglineServiceController.java | 6 +-- .../v1/seine/TripSeineServiceController.java | 6 +-- .../observe/ObserveTopiaApplicationContext.java | 12 ------ .../fr/ird/observe/ObserveTopiaConfiguration.java | 6 +++ .../entities/longline/TripLonglineTopiaDao.java | 4 +- .../observe/entities/seine/TripSeineTopiaDao.java | 4 +- pom.xml | 4 +- ...ataReferenceSet.java => DataReferenceList.java} | 16 ++++---- .../ird/observe/services/dto/DataReferenceSet.java | 6 +-- .../services/dto}/ObserveBlobsContainer.java | 2 +- ...nceSet.java => ReferenceCollectionSupport.java} | 9 ++-- .../dto/gson/ObserveBlobsContainerAdapter.java | 48 ++++++++++++++++++++++ .../services/dto/gson/ObserveDtoGsonSupplier.java | 5 +++ ...tAdapter.java => DataReferenceListAdapter.java} | 16 +++++--- .../gson/reference/DataReferenceSetAdapter.java | 8 +++- ...java => ReferenceCollectionSupportAdapter.java} | 18 ++++---- .../reference/ReferentialReferenceSetAdapter.java | 8 +++- .../dto/referential/ReferentialReferenceSet.java | 10 ++--- .../services/rest/http/ObserveResponseBuilder.java | 30 +++++++------- .../seine/TripSeineGearUseServiceRestTest.java | 6 +-- .../service/seine/TripSeineServiceRestTest.java | 6 +-- .../services/topia/ObserveServiceTopia.java | 38 +++++++++++++---- .../service/ImportTripScriptTopiaSqlWork.java | 2 +- .../topia/service/ReferentialServiceTopia.java | 4 +- .../service/SqlScriptProducerServiceTopia.java | 2 +- .../topia/service/TripManagementServiceTopia.java | 2 +- .../service/longline/TripLonglineServiceTopia.java | 18 ++++---- .../topia/service/seine/TripSeineServiceTopia.java | 12 +++--- .../service/TripManagementServiceTopiaTest.java | 5 ++- .../service/seine/TripSeineServiceTopiaTest.java | 12 +++--- .../service/AddSqlScriptProducerResult.java | 1 + .../service/longline/TripLonglineService.java | 6 +-- .../services/service/seine/TripSeineService.java | 6 +-- .../services/service/trip/ExportTripResult.java | 2 +- .../services/service/trip/ImportTripRequest.java | 2 +- 50 files changed, 282 insertions(+), 157 deletions(-) copy services-dto/src/main/java/fr/ird/observe/services/dto/{DataReferenceSet.java => DataReferenceList.java} (62%) rename {services/src/main/java/fr/ird/observe/services/service => services-dto/src/main/java/fr/ird/observe/services/dto}/ObserveBlobsContainer.java (97%) rename services-dto/src/main/java/fr/ird/observe/services/dto/{AbstractReferenceSet.java => ReferenceCollectionSupport.java} (83%) create mode 100644 services-dto/src/main/java/fr/ird/observe/services/dto/gson/ObserveBlobsContainerAdapter.java copy services-dto/src/main/java/fr/ird/observe/services/dto/gson/reference/{DataReferenceSetAdapter.java => DataReferenceListAdapter.java} (71%) rename services-dto/src/main/java/fr/ird/observe/services/dto/gson/reference/{AbstractReferenceSetAdapter.java => ReferenceCollectionSupportAdapter.java} (73%) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop-5.x in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit cf888e3f3ddd959ea84dce07e74a5df87c5b975e Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 10 11:13:34 2016 +0100 Classement des marées dans l'arbre (fixes #8861) --- .../application/swing/ui/admin/AdminUIModel.java | 6 ++-- .../list/impl/longline/TripLonglinesUIHandler.java | 13 ++++---- .../list/impl/seine/TripSeinesUIHandler.java | 13 ++++---- .../swing/ui/storage/tabs/DataSelectionModel.java | 14 ++++---- .../swing/ui/tree/ObserveTreeHelper.java | 5 ++- .../loadors/ProgramLonglineNodeChildLoador.java | 4 +-- .../tree/loadors/ProgramSeineNodeChildLoador.java | 4 +-- .../v1/longline/TripLonglineServiceController.java | 6 ++-- .../v1/seine/TripSeineServiceController.java | 6 ++-- .../entities/longline/TripLonglineTopiaDao.java | 4 +-- .../observe/entities/seine/TripSeineTopiaDao.java | 4 +-- ...ataReferenceSet.java => DataReferenceList.java} | 16 ++++----- .../ird/observe/services/dto/DataReferenceSet.java | 6 ++-- ...nceSet.java => ReferenceCollectionSupport.java} | 9 ++--- .../services/dto/gson/ObserveDtoGsonSupplier.java | 3 ++ ...tAdapter.java => DataReferenceListAdapter.java} | 16 ++++++--- .../gson/reference/DataReferenceSetAdapter.java | 8 ++++- ...java => ReferenceCollectionSupportAdapter.java} | 18 +++++----- .../reference/ReferentialReferenceSetAdapter.java | 8 ++++- .../dto/referential/ReferentialReferenceSet.java | 10 +++--- .../seine/TripSeineGearUseServiceRestTest.java | 6 ++-- .../service/seine/TripSeineServiceRestTest.java | 6 ++-- .../services/topia/ObserveServiceTopia.java | 38 +++++++++++++++++----- .../topia/service/ReferentialServiceTopia.java | 4 +-- .../service/longline/TripLonglineServiceTopia.java | 18 +++++----- .../topia/service/seine/TripSeineServiceTopia.java | 12 ++++--- .../service/TripManagementServiceTopiaTest.java | 5 +-- .../service/seine/TripSeineServiceTopiaTest.java | 12 +++---- .../service/longline/TripLonglineService.java | 6 ++-- .../services/service/seine/TripSeineService.java | 6 ++-- 30 files changed, 166 insertions(+), 120 deletions(-) diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/AdminUIModel.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/AdminUIModel.java index 24255db..f001ac4 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/AdminUIModel.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/AdminUIModel.java @@ -44,7 +44,7 @@ import fr.ird.observe.application.swing.validation.ValidationModelMode; import fr.ird.observe.services.configuration.ObserveDataSourceConfiguration; import fr.ird.observe.services.configuration.ObserveDataSourceInformation; import fr.ird.observe.services.dto.DataReference; -import fr.ird.observe.services.dto.DataReferenceSet; +import fr.ird.observe.services.dto.DataReferenceList; import fr.ird.observe.services.dto.IdHelper; import fr.ird.observe.services.dto.ObserveModelType; import fr.ird.observe.services.dto.longline.TripLonglineDto; @@ -1443,11 +1443,11 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { List<DataReference<?>> existingTrip = Lists.newArrayList(); TripSeineService tripSeineService = source.newTripSeineService(); - DataReferenceSet<TripSeineDto> tripSeineSet = tripSeineService.getAllTripSeine(); + DataReferenceList<TripSeineDto> tripSeineSet = tripSeineService.getAllTripSeine(); existingTrip.addAll(tripSeineSet.getReferences()); TripLonglineService tripLonglineService = source.newTripLonglineService(); - DataReferenceSet<TripLonglineDto> tripLonglineSet = tripLonglineService.getAllTripLongline(); + DataReferenceList<TripLonglineDto> tripLonglineSet = tripLonglineService.getAllTripLongline(); existingTrip.addAll(tripLonglineSet.getReferences()); diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/list/impl/longline/TripLonglinesUIHandler.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/list/impl/longline/TripLonglinesUIHandler.java index 76cb0a3..a9d351d 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/list/impl/longline/TripLonglinesUIHandler.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/list/impl/longline/TripLonglinesUIHandler.java @@ -25,14 +25,14 @@ package fr.ird.observe.application.swing.ui.content.list.impl.longline; import fr.ird.observe.application.swing.ObserveSwingApplicationContext; import fr.ird.observe.application.swing.db.DataContext; import fr.ird.observe.application.swing.db.constants.DataContextType; +import fr.ird.observe.application.swing.ui.content.ContentMode; +import fr.ird.observe.application.swing.ui.content.list.ContentListUIHandler; import fr.ird.observe.services.dto.DataReference; -import fr.ird.observe.services.dto.DataReferenceSet; +import fr.ird.observe.services.dto.DataReferenceList; import fr.ird.observe.services.dto.longline.TripLonglineDto; import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.service.longline.TripLonglineService; -import fr.ird.observe.application.swing.ui.content.ContentMode; -import fr.ird.observe.application.swing.ui.content.list.ContentListUIHandler; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -90,9 +90,8 @@ public class TripLonglinesUIHandler extends ContentListUIHandler<ProgramDto, Tri @Override protected void finalizeOpenUI() { - Class referenceType = ProgramDto.class; - ReferentialReference<ProgramDto> programRef = getDataSource().getReferentialReference(referenceType, getSelectedParentId()); - String title = getDecoratorService().getReferentialReferenceDecorator(referenceType).toString(programRef); + ReferentialReference<ProgramDto> programRef = getDataSource().getReferentialReference(ProgramDto.class, getSelectedParentId()); + String title = getDecoratorService().getReferentialReferenceDecorator(ProgramDto.class).toString(programRef); getUi().setContentTitle(title); } @@ -100,7 +99,7 @@ public class TripLonglinesUIHandler extends ContentListUIHandler<ProgramDto, Tri protected List<DataReference<TripLonglineDto>> getChilds(String parentId) { TripLonglineService service = ObserveSwingApplicationContext.get().getMainDataSourceServicesProvider().newTripLonglineService(); - DataReferenceSet<TripLonglineDto> tripLonglineByProgram = service.getTripLonglineByProgram( parentId); + DataReferenceList<TripLonglineDto> tripLonglineByProgram = service.getTripLonglineByProgram(parentId); if (log.isDebugEnabled()) { log.debug("Will use " + tripLonglineByProgram.sizeReference() + " trips."); diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/list/impl/seine/TripSeinesUIHandler.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/list/impl/seine/TripSeinesUIHandler.java index bf51dcd..2ca246f 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/list/impl/seine/TripSeinesUIHandler.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/list/impl/seine/TripSeinesUIHandler.java @@ -24,14 +24,14 @@ package fr.ird.observe.application.swing.ui.content.list.impl.seine; import fr.ird.observe.application.swing.ObserveSwingApplicationContext; import fr.ird.observe.application.swing.db.DataContext; import fr.ird.observe.application.swing.db.constants.DataContextType; +import fr.ird.observe.application.swing.ui.content.ContentMode; +import fr.ird.observe.application.swing.ui.content.list.ContentListUIHandler; import fr.ird.observe.services.dto.DataReference; -import fr.ird.observe.services.dto.DataReferenceSet; +import fr.ird.observe.services.dto.DataReferenceList; import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.seine.TripSeineDto; import fr.ird.observe.services.service.seine.TripSeineService; -import fr.ird.observe.application.swing.ui.content.ContentMode; -import fr.ird.observe.application.swing.ui.content.list.ContentListUIHandler; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -87,9 +87,8 @@ public class TripSeinesUIHandler extends ContentListUIHandler<ProgramDto, TripSe @Override protected void finalizeOpenUI() { - Class referenceType = ProgramDto.class; - ReferentialReference<ProgramDto> programRef = getDataSource().getReferentialReference(referenceType, getSelectedParentId()); - String title = getDecoratorService().getReferentialReferenceDecorator(referenceType).toString(programRef); + ReferentialReference<ProgramDto> programRef = getDataSource().getReferentialReference(ProgramDto.class, getSelectedParentId()); + String title = getDecoratorService().getReferentialReferenceDecorator(ProgramDto.class).toString(programRef); getUi().setContentTitle(title); } @@ -97,7 +96,7 @@ public class TripSeinesUIHandler extends ContentListUIHandler<ProgramDto, TripSe protected List<DataReference<TripSeineDto>> getChilds(String parentId) { TripSeineService service = ObserveSwingApplicationContext.get().getMainDataSourceServicesProvider().newTripSeineService(); - DataReferenceSet<TripSeineDto> tripSeineByProgram = service.getTripSeineByProgram(parentId); + DataReferenceList<TripSeineDto> tripSeineByProgram = service.getTripSeineByProgram(parentId); if (log.isDebugEnabled()) { log.debug("Will use " + tripSeineByProgram.sizeReference() + " trips."); diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/storage/tabs/DataSelectionModel.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/storage/tabs/DataSelectionModel.java index 7b9ab3a..8a4df5e 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/storage/tabs/DataSelectionModel.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/storage/tabs/DataSelectionModel.java @@ -22,13 +22,13 @@ package fr.ird.observe.application.swing.ui.storage.tabs; import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableSet; +import com.google.common.collect.ImmutableList; import com.google.common.collect.Maps; import com.google.common.collect.Sets; import fr.ird.observe.application.swing.db.ObserveSwingDataSource; import fr.ird.observe.services.dto.AbstractReference; import fr.ird.observe.services.dto.DataReference; -import fr.ird.observe.services.dto.DataReferenceSet; +import fr.ird.observe.services.dto.DataReferenceList; import fr.ird.observe.services.dto.longline.TripLonglineDto; import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.services.dto.referential.ProgramHelper; @@ -81,12 +81,12 @@ public class DataSelectionModel implements Serializable { if (ProgramHelper.isProgramSeine(program)) { - DataReferenceSet<TripSeineDto> tripSeineRef = tripSeineService.getTripSeineByProgram(program.getId()); + DataReferenceList<TripSeineDto> tripSeineRef = tripSeineService.getTripSeineByProgram(program.getId()); referenceHelper.addAll(tripSeineRef.getReferences()); } else if (ProgramHelper.isProgramLongline(program)) { - DataReferenceSet<TripLonglineDto> tripLonglineRef = tripLonglineService.getTripLonglineByProgram(program.getId()); + DataReferenceList<TripLonglineDto> tripLonglineRef = tripLonglineService.getTripLonglineByProgram(program.getId()); referenceHelper.addAll(tripLonglineRef.getReferences()); } @@ -106,14 +106,14 @@ public class DataSelectionModel implements Serializable { Set<ReferentialReference<ProgramDto>> programSet = source.getReferentialReferences(ProgramDto.class); - ImmutableSet<DataReference> allTrips; + ImmutableList<DataReference> allTrips; if (tripSeine) { TripSeineService tripSeineService = source.newTripSeineService(); - allTrips = (ImmutableSet) tripSeineService.getAllTripSeine().getReferences(); + allTrips = (ImmutableList) tripSeineService.getAllTripSeine().getReferences(); } else { TripLonglineService tripLonglineService = source.newTripLonglineService(); - allTrips = (ImmutableSet) tripLonglineService.getAllTripLongline().getReferences(); + allTrips = (ImmutableList) tripLonglineService.getAllTripLongline().getReferences(); } for (ReferentialReference<ProgramDto> program : programSet) { diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/ObserveTreeHelper.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/ObserveTreeHelper.java index a29372a..193e249 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/ObserveTreeHelper.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/ObserveTreeHelper.java @@ -24,7 +24,6 @@ package fr.ird.observe.application.swing.ui.tree; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableListMultimap; import com.google.common.collect.ImmutableMap; -import com.google.common.collect.ImmutableSet; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Multimaps; @@ -148,11 +147,11 @@ public class ObserveTreeHelper extends NavTreeHelper<ObserveNode> { if (source.canReadData()) { // on va charger en une seule fois tous les nœuds des marées - ImmutableSet<DataReference<TripSeineDto>> tripsSeine = source.newTripSeineService().getAllTripSeine().getReferences(); + ImmutableList<DataReference<TripSeineDto>> tripsSeine = source.newTripSeineService().getAllTripSeine().getReferences(); if (log.isInfoEnabled()) { log.info("[PS] Loaded " + tripsSeine.size() + " trip(s)."); } - ImmutableSet<DataReference<TripLonglineDto>> tripsLongline = source.newTripLonglineService().getAllTripLongline().getReferences(); + ImmutableList<DataReference<TripLonglineDto>> tripsLongline = source.newTripLonglineService().getAllTripLongline().getReferences(); if (log.isInfoEnabled()) { log.info("[LL] Loaded " + tripsLongline.size() + " trip(s)."); } diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/loadors/ProgramLonglineNodeChildLoador.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/loadors/ProgramLonglineNodeChildLoador.java index 8febb26..b245f12 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/loadors/ProgramLonglineNodeChildLoador.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/loadors/ProgramLonglineNodeChildLoador.java @@ -28,7 +28,7 @@ import fr.ird.observe.application.swing.ui.storage.tabs.DataSelectionModel; import fr.ird.observe.application.swing.ui.tree.node.ObserveNode; import fr.ird.observe.application.swing.ui.tree.node.TripLonglineNode; import fr.ird.observe.services.dto.DataReference; -import fr.ird.observe.services.dto.DataReferenceSet; +import fr.ird.observe.services.dto.DataReferenceList; import fr.ird.observe.services.dto.longline.ActivityLonglineDto; import fr.ird.observe.services.dto.longline.GearUseFeaturesLonglineDto; import fr.ird.observe.services.dto.longline.TripLonglineDto; @@ -92,7 +92,7 @@ public class ProgramLonglineNodeChildLoador extends AbstractNodeChildLoador<Data } else { TripLonglineService tripLonglineService = ObserveSwingApplicationContext.get().getMainDataSourceServicesProvider().newTripLonglineService(); - DataReferenceSet<TripLonglineDto> tripLonglineByProgram = tripLonglineService.getTripLonglineByProgram(parentId); + DataReferenceList<TripLonglineDto> tripLonglineByProgram = tripLonglineService.getTripLonglineByProgram(parentId); result = new ArrayList<>(tripLonglineByProgram.getReferences()); diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/loadors/ProgramSeineNodeChildLoador.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/loadors/ProgramSeineNodeChildLoador.java index c4d178f..9df8479 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/loadors/ProgramSeineNodeChildLoador.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/loadors/ProgramSeineNodeChildLoador.java @@ -27,7 +27,7 @@ import fr.ird.observe.application.swing.ui.storage.tabs.DataSelectionModel; import fr.ird.observe.application.swing.ui.tree.node.ObserveNode; import fr.ird.observe.application.swing.ui.tree.node.TripSeineNode; import fr.ird.observe.services.dto.DataReference; -import fr.ird.observe.services.dto.DataReferenceSet; +import fr.ird.observe.services.dto.DataReferenceList; import fr.ird.observe.services.dto.seine.GearUseFeaturesSeineDto; import fr.ird.observe.services.dto.seine.RouteDto; import fr.ird.observe.services.dto.seine.TripSeineDto; @@ -87,7 +87,7 @@ public class ProgramSeineNodeChildLoador extends AbstractNodeChildLoador<DataRef } else { TripSeineService tripSeineService = ObserveSwingApplicationContext.get().getMainDataSourceServicesProvider().newTripSeineService(); - DataReferenceSet<TripSeineDto> tripSeineByProgram = tripSeineService.getTripSeineByProgram(parentId); + DataReferenceList<TripSeineDto> tripSeineByProgram = tripSeineService.getTripSeineByProgram(parentId); result = new ArrayList<>(tripSeineByProgram.getReferences()); diff --git a/application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/TripLonglineServiceController.java b/application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/TripLonglineServiceController.java index 00a431f..6f4c67d 100644 --- a/application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/TripLonglineServiceController.java +++ b/application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/TripLonglineServiceController.java @@ -25,7 +25,7 @@ package fr.ird.observe.application.web.controller.v1.longline; import com.google.common.collect.ImmutableList; import fr.ird.observe.application.web.controller.v1.ObserveAuthenticatedServiceControllerSupport; import fr.ird.observe.services.dto.DataReference; -import fr.ird.observe.services.dto.DataReferenceSet; +import fr.ird.observe.services.dto.DataReferenceList; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.TripMapDto; import fr.ird.observe.services.dto.longline.TripLonglineDto; @@ -46,12 +46,12 @@ public class TripLonglineServiceController extends ObserveAuthenticatedServiceCo } @Override - public DataReferenceSet<TripLonglineDto> getAllTripLongline() { + public DataReferenceList<TripLonglineDto> getAllTripLongline() { return service.getAllTripLongline(); } @Override - public DataReferenceSet<TripLonglineDto> getTripLonglineByProgram(String programId) { + public DataReferenceList<TripLonglineDto> getTripLonglineByProgram(String programId) { return service.getTripLonglineByProgram(programId); } diff --git a/application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TripSeineServiceController.java b/application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TripSeineServiceController.java index 8a9e4be..9a2d6f2 100644 --- a/application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TripSeineServiceController.java +++ b/application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TripSeineServiceController.java @@ -25,7 +25,7 @@ package fr.ird.observe.application.web.controller.v1.seine; import com.google.common.collect.ImmutableList; import fr.ird.observe.application.web.controller.v1.ObserveAuthenticatedServiceControllerSupport; import fr.ird.observe.services.dto.DataReference; -import fr.ird.observe.services.dto.DataReferenceSet; +import fr.ird.observe.services.dto.DataReferenceList; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.TripMapDto; import fr.ird.observe.services.dto.referential.ReferentialReference; @@ -46,12 +46,12 @@ public class TripSeineServiceController extends ObserveAuthenticatedServiceContr } @Override - public DataReferenceSet<TripSeineDto> getAllTripSeine() { + public DataReferenceList<TripSeineDto> getAllTripSeine() { return service.getAllTripSeine(); } @Override - public DataReferenceSet<TripSeineDto> getTripSeineByProgram(String programId) { + public DataReferenceList<TripSeineDto> getTripSeineByProgram(String programId) { return service.getTripSeineByProgram(programId); } diff --git a/entities/src/main/java/fr/ird/observe/entities/longline/TripLonglineTopiaDao.java b/entities/src/main/java/fr/ird/observe/entities/longline/TripLonglineTopiaDao.java index ae0e43f..d765833 100644 --- a/entities/src/main/java/fr/ird/observe/entities/longline/TripLonglineTopiaDao.java +++ b/entities/src/main/java/fr/ird/observe/entities/longline/TripLonglineTopiaDao.java @@ -265,7 +265,7 @@ public class TripLonglineTopiaDao extends AbstractTripLonglineTopiaDao<TripLongl " AND t.tripType = tt.topiaId" + " AND t.observer = p.topiaId" + " AND t.vessel = v.topiaId" + - " ORDER BY t.endDate"; + " ORDER BY t.startDate"; StubSqlQuery request = new StubSqlQuery(sql, programId, referenceLocale); return context.findMultipleResult(request); @@ -291,7 +291,7 @@ public class TripLonglineTopiaDao extends AbstractTripLonglineTopiaDao<TripLongl " AND t.tripType = tt.topiaId" + " AND t.observer = p.topiaId" + " AND t.vessel = v.topiaId" + - " ORDER BY t.endDate"; + " ORDER BY t.startDate"; StubSqlQuery request = new StubSqlQuery(sql, tripId, referenceLocale); return context.findSingleResult(request); diff --git a/entities/src/main/java/fr/ird/observe/entities/seine/TripSeineTopiaDao.java b/entities/src/main/java/fr/ird/observe/entities/seine/TripSeineTopiaDao.java index b7c83d1..9e335e8 100644 --- a/entities/src/main/java/fr/ird/observe/entities/seine/TripSeineTopiaDao.java +++ b/entities/src/main/java/fr/ird/observe/entities/seine/TripSeineTopiaDao.java @@ -204,7 +204,7 @@ public class TripSeineTopiaDao extends AbstractTripSeineTopiaDao<TripSeine> { " AND t.program = pr.topiaId" + " AND t.observer = p.topiaId" + " AND t.vessel = v.topiaId" + - " ORDER BY t.endDate"; + " ORDER BY t.startDate"; StubSqlQuery request = new StubSqlQuery(sql, programId, referenceLocale); return context.findMultipleResult(request); @@ -229,7 +229,7 @@ public class TripSeineTopiaDao extends AbstractTripSeineTopiaDao<TripSeine> { " AND t.program = pr.topiaId" + " AND t.observer = p.topiaId" + " AND t.vessel = v.topiaId" + - " ORDER BY t.endDate"; + " ORDER BY t.startDate"; StubSqlQuery request = new StubSqlQuery(sql, tripId, referenceLocale); return context.findSingleResult(request); diff --git a/services-dto/src/main/java/fr/ird/observe/services/dto/DataReferenceSet.java b/services-dto/src/main/java/fr/ird/observe/services/dto/DataReferenceList.java similarity index 62% copy from services-dto/src/main/java/fr/ird/observe/services/dto/DataReferenceSet.java copy to services-dto/src/main/java/fr/ird/observe/services/dto/DataReferenceList.java index 0b459e7..ae8f9cc 100644 --- a/services-dto/src/main/java/fr/ird/observe/services/dto/DataReferenceSet.java +++ b/services-dto/src/main/java/fr/ird/observe/services/dto/DataReferenceList.java @@ -23,27 +23,27 @@ package fr.ird.observe.services.dto; */ import com.google.common.base.MoreObjects; -import com.google.common.collect.ImmutableSet; +import com.google.common.collect.ImmutableList; -public class DataReferenceSet<R extends DataDto> extends AbstractReferenceSet<R, DataReference<R>> { +public class DataReferenceList<R extends DataDto> extends ReferenceCollectionSupport<R, DataReference<R>, ImmutableList<DataReference<R>>> { private static final long serialVersionUID = 1L; - public static <R extends DataDto> DataReferenceSet<R> of(Class<R> type, - ImmutableSet<DataReference<R>> references) { + public static <R extends DataDto> DataReferenceList<R> of(Class<R> type, + ImmutableList<DataReference<R>> references) { - return new DataReferenceSet<>(type, references); + return new DataReferenceList<>(type, references); } @Override public String toString() { return MoreObjects.toStringHelper(this) - .add(PROPERTY_TYPE, type.getSimpleName()) - .toString(); + .add(PROPERTY_TYPE, type.getSimpleName()) + .toString(); } - protected DataReferenceSet(Class<R> type, ImmutableSet<DataReference<R>> references) { + protected DataReferenceList(Class<R> type, ImmutableList<DataReference<R>> references) { super(type, references); } diff --git a/services-dto/src/main/java/fr/ird/observe/services/dto/DataReferenceSet.java b/services-dto/src/main/java/fr/ird/observe/services/dto/DataReferenceSet.java index 0b459e7..ba4a7b2 100644 --- a/services-dto/src/main/java/fr/ird/observe/services/dto/DataReferenceSet.java +++ b/services-dto/src/main/java/fr/ird/observe/services/dto/DataReferenceSet.java @@ -25,7 +25,7 @@ package fr.ird.observe.services.dto; import com.google.common.base.MoreObjects; import com.google.common.collect.ImmutableSet; -public class DataReferenceSet<R extends DataDto> extends AbstractReferenceSet<R, DataReference<R>> { +public class DataReferenceSet<R extends DataDto> extends ReferenceCollectionSupport<R, DataReference<R>, ImmutableSet<DataReference<R>>> { private static final long serialVersionUID = 1L; @@ -39,8 +39,8 @@ public class DataReferenceSet<R extends DataDto> extends AbstractReferenceSet<R, @Override public String toString() { return MoreObjects.toStringHelper(this) - .add(PROPERTY_TYPE, type.getSimpleName()) - .toString(); + .add(PROPERTY_TYPE, type.getSimpleName()) + .toString(); } protected DataReferenceSet(Class<R> type, ImmutableSet<DataReference<R>> references) { diff --git a/services-dto/src/main/java/fr/ird/observe/services/dto/AbstractReferenceSet.java b/services-dto/src/main/java/fr/ird/observe/services/dto/ReferenceCollectionSupport.java similarity index 83% rename from services-dto/src/main/java/fr/ird/observe/services/dto/AbstractReferenceSet.java rename to services-dto/src/main/java/fr/ird/observe/services/dto/ReferenceCollectionSupport.java index 90f1faf..60529ef 100644 --- a/services-dto/src/main/java/fr/ird/observe/services/dto/AbstractReferenceSet.java +++ b/services-dto/src/main/java/fr/ird/observe/services/dto/ReferenceCollectionSupport.java @@ -22,13 +22,14 @@ package fr.ird.observe.services.dto; * #L% */ +import com.google.common.collect.ImmutableCollection; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Iterables; import java.io.Serializable; import java.util.Optional; -public abstract class AbstractReferenceSet<D extends IdDto, R extends AbstractReference<D>> implements ObserveDto, Serializable { +public abstract class ReferenceCollectionSupport<D extends IdDto, R extends AbstractReference<D>, C extends ImmutableCollection<R>> implements ObserveDto, Serializable { public static final String PROPERTY_TYPE = "type"; @@ -38,9 +39,9 @@ public abstract class AbstractReferenceSet<D extends IdDto, R extends AbstractRe protected final Class<D> type; - protected final ImmutableSet<R> references; + protected final C references; - protected AbstractReferenceSet(Class<D> type, ImmutableSet<R> references) { + protected ReferenceCollectionSupport(Class<D> type, C references) { this.type = type; this.references = references; } @@ -65,7 +66,7 @@ public abstract class AbstractReferenceSet<D extends IdDto, R extends AbstractRe return references.size(); } - public ImmutableSet<R> getReferences() { + public C getReferences() { return references; } diff --git a/services-dto/src/main/java/fr/ird/observe/services/dto/gson/ObserveDtoGsonSupplier.java b/services-dto/src/main/java/fr/ird/observe/services/dto/gson/ObserveDtoGsonSupplier.java index 40960fb..641a36d 100644 --- a/services-dto/src/main/java/fr/ird/observe/services/dto/gson/ObserveDtoGsonSupplier.java +++ b/services-dto/src/main/java/fr/ird/observe/services/dto/gson/ObserveDtoGsonSupplier.java @@ -30,10 +30,12 @@ import com.google.gson.Gson; import com.google.gson.GsonBuilder; import fr.ird.observe.services.dto.AbstractReference; import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.DataReferenceList; import fr.ird.observe.services.dto.DataReferenceSet; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.actions.report.ReportVariable; import fr.ird.observe.services.dto.gson.reference.DataReferenceAdapter; +import fr.ird.observe.services.dto.gson.reference.DataReferenceListAdapter; import fr.ird.observe.services.dto.gson.reference.DataReferenceSetAdapter; import fr.ird.observe.services.dto.gson.reference.ReferentialReferenceAdapter; import fr.ird.observe.services.dto.gson.reference.ReferentialReferenceSetAdapter; @@ -105,6 +107,7 @@ public class ObserveDtoGsonSupplier implements Supplier<Gson> { gsonBuilder.registerTypeAdapter(ReferentialReference.class, new ReferentialReferenceAdapter()); gsonBuilder.registerTypeAdapter(AbstractReference.class, new UnknownReferenceAdapter()); gsonBuilder.registerTypeAdapter(DataReferenceSet.class, new DataReferenceSetAdapter()); + gsonBuilder.registerTypeAdapter(DataReferenceList.class, new DataReferenceListAdapter()); gsonBuilder.registerTypeAdapter(ReferentialReferenceSet.class, new ReferentialReferenceSetAdapter()); gsonBuilder.registerTypeAdapter(Form.class, new FormAdapter()); diff --git a/services-dto/src/main/java/fr/ird/observe/services/dto/gson/reference/DataReferenceSetAdapter.java b/services-dto/src/main/java/fr/ird/observe/services/dto/gson/reference/DataReferenceListAdapter.java similarity index 71% copy from services-dto/src/main/java/fr/ird/observe/services/dto/gson/reference/DataReferenceSetAdapter.java copy to services-dto/src/main/java/fr/ird/observe/services/dto/gson/reference/DataReferenceListAdapter.java index c9fa27d..5a55a60 100644 --- a/services-dto/src/main/java/fr/ird/observe/services/dto/gson/reference/DataReferenceSetAdapter.java +++ b/services-dto/src/main/java/fr/ird/observe/services/dto/gson/reference/DataReferenceListAdapter.java @@ -22,13 +22,14 @@ package fr.ird.observe.services.dto.gson.reference; * #L% */ -import com.google.common.collect.ImmutableSet; +import com.google.common.collect.ImmutableCollection; +import com.google.common.collect.ImmutableList; import com.google.gson.JsonDeserializationContext; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import fr.ird.observe.services.dto.DataDto; import fr.ird.observe.services.dto.DataReference; -import fr.ird.observe.services.dto.DataReferenceSet; +import fr.ird.observe.services.dto.DataReferenceList; import fr.ird.observe.services.dto.reference.ReferenceSetDefinition; /** @@ -36,18 +37,23 @@ import fr.ird.observe.services.dto.reference.ReferenceSetDefinition; * * @author Tony Chemit - chemit@codelutin.com */ -public class DataReferenceSetAdapter<D extends DataDto> extends AbstractReferenceSetAdapter<D, DataReference<D>, DataReferenceSet<D>> { +public class DataReferenceListAdapter<D extends DataDto> extends ReferenceCollectionSupportAdapter<D, DataReference<D>, ImmutableList<DataReference<D>>, DataReferenceList<D>> { protected final DataReferenceAdapter<D> referenceAdapter = new DataReferenceAdapter<>(); @Override + protected ImmutableCollection.Builder<DataReference<D>> createBuilder() { + return ImmutableList.builder(); + } + + @Override protected ReferenceSetDefinition<D> getDefintion(Class<D> dtoType) { return referenceAdapter.getDefinition(dtoType); } @Override - protected DataReferenceSet<D> newReferenceSet(Class<D> dtoType, ImmutableSet<DataReference<D>> references, JsonObject jsonObject, JsonDeserializationContext context) { - return DataReferenceSet.of(dtoType, references); + protected DataReferenceList<D> newReferenceSet(Class<D> dtoType, ImmutableList<DataReference<D>> references, JsonObject jsonObject, JsonDeserializationContext context) { + return DataReferenceList.of(dtoType, references); } @Override diff --git a/services-dto/src/main/java/fr/ird/observe/services/dto/gson/reference/DataReferenceSetAdapter.java b/services-dto/src/main/java/fr/ird/observe/services/dto/gson/reference/DataReferenceSetAdapter.java index c9fa27d..4c3b64b 100644 --- a/services-dto/src/main/java/fr/ird/observe/services/dto/gson/reference/DataReferenceSetAdapter.java +++ b/services-dto/src/main/java/fr/ird/observe/services/dto/gson/reference/DataReferenceSetAdapter.java @@ -22,6 +22,7 @@ package fr.ird.observe.services.dto.gson.reference; * #L% */ +import com.google.common.collect.ImmutableCollection; import com.google.common.collect.ImmutableSet; import com.google.gson.JsonDeserializationContext; import com.google.gson.JsonElement; @@ -36,11 +37,16 @@ import fr.ird.observe.services.dto.reference.ReferenceSetDefinition; * * @author Tony Chemit - chemit@codelutin.com */ -public class DataReferenceSetAdapter<D extends DataDto> extends AbstractReferenceSetAdapter<D, DataReference<D>, DataReferenceSet<D>> { +public class DataReferenceSetAdapter<D extends DataDto> extends ReferenceCollectionSupportAdapter<D, DataReference<D>, ImmutableSet<DataReference<D>>, DataReferenceSet<D>> { protected final DataReferenceAdapter<D> referenceAdapter = new DataReferenceAdapter<>(); @Override + protected ImmutableCollection.Builder<DataReference<D>> createBuilder() { + return ImmutableSet.builder(); + } + + @Override protected ReferenceSetDefinition<D> getDefintion(Class<D> dtoType) { return referenceAdapter.getDefinition(dtoType); } diff --git a/services-dto/src/main/java/fr/ird/observe/services/dto/gson/reference/AbstractReferenceSetAdapter.java b/services-dto/src/main/java/fr/ird/observe/services/dto/gson/reference/ReferenceCollectionSupportAdapter.java similarity index 73% rename from services-dto/src/main/java/fr/ird/observe/services/dto/gson/reference/AbstractReferenceSetAdapter.java rename to services-dto/src/main/java/fr/ird/observe/services/dto/gson/reference/ReferenceCollectionSupportAdapter.java index 3f491d6..dd832bc 100644 --- a/services-dto/src/main/java/fr/ird/observe/services/dto/gson/reference/AbstractReferenceSetAdapter.java +++ b/services-dto/src/main/java/fr/ird/observe/services/dto/gson/reference/ReferenceCollectionSupportAdapter.java @@ -22,7 +22,7 @@ package fr.ird.observe.services.dto.gson.reference; * #L% */ -import com.google.common.collect.ImmutableSet; +import com.google.common.collect.ImmutableCollection; import com.google.gson.JsonArray; import com.google.gson.JsonDeserializationContext; import com.google.gson.JsonDeserializer; @@ -30,8 +30,8 @@ import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParseException; import fr.ird.observe.services.dto.AbstractReference; -import fr.ird.observe.services.dto.AbstractReferenceSet; import fr.ird.observe.services.dto.IdDto; +import fr.ird.observe.services.dto.ReferenceCollectionSupport; import fr.ird.observe.services.dto.reference.ReferenceSetDefinition; import java.lang.reflect.Type; @@ -42,25 +42,25 @@ import java.lang.reflect.Type; * * @author Tony Chemit - chemit@codelutin.com */ -public abstract class AbstractReferenceSetAdapter<D extends IdDto, R extends AbstractReference<D>, S extends AbstractReferenceSet<D, R>> implements JsonDeserializer<S> { +public abstract class ReferenceCollectionSupportAdapter<D extends IdDto, R extends AbstractReference<D>, C extends ImmutableCollection<R>, S extends ReferenceCollectionSupport<D, R, C>> implements JsonDeserializer<S> { @Override public final S deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException { JsonObject jsonObject = json.getAsJsonObject(); - Class<D> dtoType = context.deserialize(jsonObject.get(AbstractReferenceSet.PROPERTY_TYPE), Class.class); + Class<D> dtoType = context.deserialize(jsonObject.get(ReferenceCollectionSupport.PROPERTY_TYPE), Class.class); ReferenceSetDefinition<D> definition = getDefintion(dtoType); String[] propertyNames = definition.getPropertyNames(); Class<?>[] propertyTypes = definition.getPropertyTypes(); - JsonArray jsonPropertyValues = jsonObject.get(AbstractReferenceSet.PROPERTY_REFERENCES).getAsJsonArray(); + JsonArray jsonPropertyValues = jsonObject.get(ReferenceCollectionSupport.PROPERTY_REFERENCES).getAsJsonArray(); int referencesSize = jsonPropertyValues.size(); - ImmutableSet.Builder<R> references = ImmutableSet.builder(); + C.Builder<R> references = createBuilder(); for (int i = 0; i < referencesSize; i++) { @@ -69,14 +69,16 @@ public abstract class AbstractReferenceSetAdapter<D extends IdDto, R extends Abs } - return newReferenceSet(dtoType, references.build(), jsonObject, context); + return newReferenceSet(dtoType, (C) references.build(), jsonObject, context); } + protected abstract ImmutableCollection.Builder<R> createBuilder(); + protected abstract ReferenceSetDefinition<D> getDefintion(Class<D> dtoType); protected abstract R deserializeReference(JsonElement referenceJsonElement, JsonDeserializationContext context, Class<D> dtoType, String[] propertyNames, Class<?>... propertyTypes); - protected abstract S newReferenceSet(Class<D> dtoType, ImmutableSet<R> references, JsonObject jsonObject, JsonDeserializationContext context); + protected abstract S newReferenceSet(Class<D> dtoType, C references, JsonObject jsonObject, JsonDeserializationContext context); } diff --git a/services-dto/src/main/java/fr/ird/observe/services/dto/gson/reference/ReferentialReferenceSetAdapter.java b/services-dto/src/main/java/fr/ird/observe/services/dto/gson/reference/ReferentialReferenceSetAdapter.java index 5d04232..2fc3a11 100644 --- a/services-dto/src/main/java/fr/ird/observe/services/dto/gson/reference/ReferentialReferenceSetAdapter.java +++ b/services-dto/src/main/java/fr/ird/observe/services/dto/gson/reference/ReferentialReferenceSetAdapter.java @@ -22,6 +22,7 @@ package fr.ird.observe.services.dto.gson.reference; * #L% */ +import com.google.common.collect.ImmutableCollection; import com.google.common.collect.ImmutableSet; import com.google.gson.JsonDeserializationContext; import com.google.gson.JsonElement; @@ -38,11 +39,16 @@ import java.util.Date; * * @author Tony Chemit - chemit@codelutin.com */ -public class ReferentialReferenceSetAdapter<D extends ReferentialDto> extends AbstractReferenceSetAdapter<D, ReferentialReference<D>, ReferentialReferenceSet<D>> { +public class ReferentialReferenceSetAdapter<D extends ReferentialDto> extends ReferenceCollectionSupportAdapter<D, ReferentialReference<D>, ImmutableSet<ReferentialReference<D>>, ReferentialReferenceSet<D>> { protected final ReferentialReferenceAdapter<D> referenceAdapter = new ReferentialReferenceAdapter<>(); @Override + protected ImmutableCollection.Builder<ReferentialReference<D>> createBuilder() { + return ImmutableSet.builder(); + } + + @Override protected ReferentialReferenceSet<D> newReferenceSet(Class<D> dtoType, ImmutableSet<ReferentialReference<D>> references, JsonObject jsonObject, JsonDeserializationContext context) { JsonElement lastUpdateElement = jsonObject.get(ReferentialReferenceSet.PROPERTY_LAST_UPDATE); diff --git a/services-dto/src/main/java/fr/ird/observe/services/dto/referential/ReferentialReferenceSet.java b/services-dto/src/main/java/fr/ird/observe/services/dto/referential/ReferentialReferenceSet.java index 7c63c13..0789572 100644 --- a/services-dto/src/main/java/fr/ird/observe/services/dto/referential/ReferentialReferenceSet.java +++ b/services-dto/src/main/java/fr/ird/observe/services/dto/referential/ReferentialReferenceSet.java @@ -24,11 +24,11 @@ package fr.ird.observe.services.dto.referential; import com.google.common.base.MoreObjects; import com.google.common.collect.ImmutableSet; -import fr.ird.observe.services.dto.AbstractReferenceSet; +import fr.ird.observe.services.dto.ReferenceCollectionSupport; import java.util.Date; -public class ReferentialReferenceSet<R extends ReferentialDto> extends AbstractReferenceSet<R, ReferentialReference<R>> { +public class ReferentialReferenceSet<R extends ReferentialDto> extends ReferenceCollectionSupport<R, ReferentialReference<R>, ImmutableSet<ReferentialReference<R>>> { public static final String PROPERTY_LAST_UPDATE = "lastUpdate"; @@ -60,8 +60,8 @@ public class ReferentialReferenceSet<R extends ReferentialDto> extends AbstractR @Override public String toString() { return MoreObjects.toStringHelper(this) - .add(PROPERTY_TYPE, type.getName()) - .add(PROPERTY_LAST_UPDATE, lastUpdate) - .toString(); + .add(PROPERTY_TYPE, type.getName()) + .add(PROPERTY_LAST_UPDATE, lastUpdate) + .toString(); } } diff --git a/services-rest/src/test/java/fr/ird/observe/services/rest/service/seine/TripSeineGearUseServiceRestTest.java b/services-rest/src/test/java/fr/ird/observe/services/rest/service/seine/TripSeineGearUseServiceRestTest.java index 157cb14..69747fe 100644 --- a/services-rest/src/test/java/fr/ird/observe/services/rest/service/seine/TripSeineGearUseServiceRestTest.java +++ b/services-rest/src/test/java/fr/ird/observe/services/rest/service/seine/TripSeineGearUseServiceRestTest.java @@ -23,7 +23,7 @@ package fr.ird.observe.services.rest.service.seine; */ import fr.ird.observe.services.dto.DataReference; -import fr.ird.observe.services.dto.DataReferenceSet; +import fr.ird.observe.services.dto.DataReferenceList; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.IdHelper; import fr.ird.observe.services.dto.seine.GearUseFeaturesMeasurementSeineDto; @@ -59,7 +59,7 @@ public class TripSeineGearUseServiceRestTest extends AbstractServiceRestTest { public void loadToReadTest() { - DataReferenceSet<TripSeineDto> allTripSeine = newService(TripSeineService.class).getAllTripSeine(); + DataReferenceList<TripSeineDto> allTripSeine = newService(TripSeineService.class).getAllTripSeine(); Map<String, DataReference<TripSeineDto>> tripIds = DataReference.splitById(allTripSeine.getReferences()); @@ -121,7 +121,7 @@ public class TripSeineGearUseServiceRestTest extends AbstractServiceRestTest { @Test public void loadToEditTest() { - DataReferenceSet<TripSeineDto> allTripSeine = newService(TripSeineService.class).getAllTripSeine(); + DataReferenceList<TripSeineDto> allTripSeine = newService(TripSeineService.class).getAllTripSeine(); Map<String, DataReference<TripSeineDto>> tripIds = DataReference.splitById(allTripSeine.getReferences()); diff --git a/services-rest/src/test/java/fr/ird/observe/services/rest/service/seine/TripSeineServiceRestTest.java b/services-rest/src/test/java/fr/ird/observe/services/rest/service/seine/TripSeineServiceRestTest.java index 870ff43..6014502 100644 --- a/services-rest/src/test/java/fr/ird/observe/services/rest/service/seine/TripSeineServiceRestTest.java +++ b/services-rest/src/test/java/fr/ird/observe/services/rest/service/seine/TripSeineServiceRestTest.java @@ -24,7 +24,7 @@ package fr.ird.observe.services.rest.service.seine; import com.google.common.collect.Iterables; import fr.ird.observe.services.dto.DataReference; -import fr.ird.observe.services.dto.DataReferenceSet; +import fr.ird.observe.services.dto.DataReferenceList; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.referential.HarbourDto; import fr.ird.observe.services.dto.referential.OceanDto; @@ -58,7 +58,7 @@ public class TripSeineServiceRestTest extends AbstractServiceRestTest { @Test public void getTripSeineByProgramTest() { - DataReferenceSet<TripSeineDto> stubDtos = service.getTripSeineByProgram(ObserveFixtures.PROGRAM_ID); + DataReferenceList<TripSeineDto> stubDtos = service.getTripSeineByProgram(ObserveFixtures.PROGRAM_ID); Assert.assertNotNull(stubDtos); @@ -216,7 +216,7 @@ public class TripSeineServiceRestTest extends AbstractServiceRestTest { service.delete(ObserveFixtures.TRIP_SEINE_ID_1); - DataReferenceSet<TripSeineDto> tripSeineByProgram = service.getTripSeineByProgram(ObserveFixtures.PROGRAM_ID); + DataReferenceList<TripSeineDto> tripSeineByProgram = service.getTripSeineByProgram(ObserveFixtures.PROGRAM_ID); Assert.assertEquals(2, tripSeineByProgram.sizeReference()); diff --git a/services-topia/src/main/java/fr/ird/observe/services/topia/ObserveServiceTopia.java b/services-topia/src/main/java/fr/ird/observe/services/topia/ObserveServiceTopia.java index 257f305..038ae81 100644 --- a/services-topia/src/main/java/fr/ird/observe/services/topia/ObserveServiceTopia.java +++ b/services-topia/src/main/java/fr/ird/observe/services/topia/ObserveServiceTopia.java @@ -22,18 +22,17 @@ package fr.ird.observe.services.topia; * #L% */ +import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; import fr.ird.observe.ObserveTopiaPersistenceContext; import fr.ird.observe.entities.ObserveDataEntity; import fr.ird.observe.entities.ObserveEntity; import fr.ird.observe.entities.referentiel.ObserveReferentialEntity; import fr.ird.observe.services.ObserveService; -import fr.ird.observe.services.topia.binder.BinderEngine; -import fr.ird.observe.services.topia.binder.data.DataBinderSupport; -import fr.ird.observe.services.topia.binder.referential.ReferentialBinderSupport; import fr.ird.observe.services.dto.DataDto; import fr.ird.observe.services.dto.DataFileDto; import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.DataReferenceList; import fr.ird.observe.services.dto.DataReferenceSet; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.IdDto; @@ -46,6 +45,9 @@ import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.result.SaveResultHelper; import fr.ird.observe.services.service.ConcurrentModificationException; import fr.ird.observe.services.service.DataNotFoundException; +import fr.ird.observe.services.topia.binder.BinderEngine; +import fr.ird.observe.services.topia.binder.data.DataBinderSupport; +import fr.ird.observe.services.topia.binder.referential.ReferentialBinderSupport; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.topia.persistence.TopiaDao; @@ -301,16 +303,16 @@ public abstract class ObserveServiceTopia implements ObserveService { } - protected <D extends DataDto, E extends ObserveDataEntity> DataReferenceSet<D> toDataReferenceSet(Class<D> dtoType, List<E> allStubByTripId) { + protected <D extends DataDto, E extends ObserveDataEntity> DataReferenceSet<D> toDataReferenceSet(Class<D> dtoType, List<E> entities) { DataBinderSupport<E, D> binder = getDataBinder(dtoType); ReferentialLocale referentialLocale = getReferentialLocale(); ImmutableSet.Builder<DataReference<D>> references = ImmutableSet.builder(); - for (E activitySeine : allStubByTripId) { + for (E entity : entities) { - DataReference<D> reference = binder.toDataReference(referentialLocale, activitySeine); + DataReference<D> reference = binder.toDataReference(referentialLocale, entity); references.add(reference); } @@ -319,16 +321,34 @@ public abstract class ObserveServiceTopia implements ObserveService { } - protected <D extends ReferentialDto, E extends ObserveReferentialEntity> ReferentialReferenceSet<D> toReferentialReferenceSet(Class<D> dtoType, List<E> allStubByTripId, Date lastUpdate) { + protected <D extends DataDto, E extends ObserveDataEntity> DataReferenceList<D> toDataReferenceList(Class<D> dtoType, List<E> entities) { + + DataBinderSupport<E, D> binder = getDataBinder(dtoType); + + ReferentialLocale referentialLocale = getReferentialLocale(); + + ImmutableList.Builder<DataReference<D>> references = ImmutableList.builder(); + for (E entity : entities) { + + DataReference<D> reference = binder.toDataReference(referentialLocale, entity); + references.add(reference); + + } + + return DataReferenceList.of(dtoType, references.build()); + + } + + protected <D extends ReferentialDto, E extends ObserveReferentialEntity> ReferentialReferenceSet<D> toReferentialReferenceSet(Class<D> dtoType, List<E> entities, Date lastUpdate) { ReferentialBinderSupport<E, D> binder = getReferentialBinder(dtoType); ReferentialLocale referentialLocale = getReferentialLocale(); ImmutableSet.Builder<ReferentialReference<D>> references = ImmutableSet.builder(); - for (E activitySeine : allStubByTripId) { + for (E entity : entities) { - ReferentialReference<D> reference = binder.toReferentialReference(referentialLocale, activitySeine); + ReferentialReference<D> reference = binder.toReferentialReference(referentialLocale, entity); references.add(reference); } diff --git a/services-topia/src/main/java/fr/ird/observe/services/topia/service/ReferentialServiceTopia.java b/services-topia/src/main/java/fr/ird/observe/services/topia/service/ReferentialServiceTopia.java index 12663db..7935768 100644 --- a/services-topia/src/main/java/fr/ird/observe/services/topia/service/ReferentialServiceTopia.java +++ b/services-topia/src/main/java/fr/ird/observe/services/topia/service/ReferentialServiceTopia.java @@ -257,12 +257,12 @@ public class ReferentialServiceTopia extends ObserveServiceTopia implements Refe if (ObserveReferentialEntity.class.isAssignableFrom(type)) { Class<ReferentialDto> dtoType = BINDER_ENGINE.getReferentialDtoType((Class) type); - ReferentialReferenceSet referenceSet = toReferentialReferenceSet(dtoType, (List) entities, null); + ReferentialReferenceSet<?> referenceSet = toReferentialReferenceSet(dtoType, (List) entities, null); result.put(dtoType, referenceSet.getReferences()); } else { Class<DataDto> dtoType = BINDER_ENGINE.getDataDtoType((Class) type); - DataReferenceSet referenceSet = toDataReferenceSet(dtoType, (List) entities); + DataReferenceSet<?> referenceSet = toDataReferenceSet(dtoType, (List) entities); result.put(dtoType, referenceSet.getReferences()); } diff --git a/services-topia/src/main/java/fr/ird/observe/services/topia/service/longline/TripLonglineServiceTopia.java b/services-topia/src/main/java/fr/ird/observe/services/topia/service/longline/TripLonglineServiceTopia.java index 522649c..5a674ef 100644 --- a/services-topia/src/main/java/fr/ird/observe/services/topia/service/longline/TripLonglineServiceTopia.java +++ b/services-topia/src/main/java/fr/ird/observe/services/topia/service/longline/TripLonglineServiceTopia.java @@ -33,11 +33,8 @@ import fr.ird.observe.entities.referentiel.Program; 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.services.service.longline.TripLonglineService; -import fr.ird.observe.services.topia.ObserveServiceTopia; -import fr.ird.observe.services.topia.binder.referential.ReferentialBinderSupport; import fr.ird.observe.services.dto.DataReference; -import fr.ird.observe.services.dto.DataReferenceSet; +import fr.ird.observe.services.dto.DataReferenceList; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.TripMapDto; import fr.ird.observe.services.dto.constants.ReferentialLocale; @@ -48,6 +45,9 @@ import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.SpeciesDto; import fr.ird.observe.services.dto.referential.SpeciesListDto; import fr.ird.observe.services.dto.result.SaveResultDto; +import fr.ird.observe.services.service.longline.TripLonglineService; +import fr.ird.observe.services.topia.ObserveServiceTopia; +import fr.ird.observe.services.topia.binder.referential.ReferentialBinderSupport; import fr.ird.observe.services.topia.entity.TripMapDtoFactory; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -55,6 +55,7 @@ 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; @@ -67,26 +68,27 @@ public class TripLonglineServiceTopia extends ObserveServiceTopia implements Tri private static final Log log = LogFactory.getLog(TripLonglineServiceTopia.class); @Override - public DataReferenceSet<TripLonglineDto> getAllTripLongline() { + public DataReferenceList<TripLonglineDto> getAllTripLongline() { if (log.isTraceEnabled()) { log.trace("getAllTripLongline()"); } List<TripLongline> tripLonglines = loadEntities(TripLongline.class); - return toDataReferenceSet(TripLonglineDto.class, tripLonglines); + tripLonglines.sort(Comparator.comparing(TripLongline::getStartDate)); + return toDataReferenceList(TripLonglineDto.class, tripLonglines); } @Override - public DataReferenceSet<TripLonglineDto> getTripLonglineByProgram(String programId) { + public DataReferenceList<TripLonglineDto> getTripLonglineByProgram(String programId) { if (log.isTraceEnabled()) { log.trace("getTripLonglineByProgram(" + programId + ")"); } List<TripLongline> tripLonglines = getDao().findAllStubByProgramId(programId, getReferentialLocale().ordinal()); - return toDataReferenceSet(TripLonglineDto.class, tripLonglines); + return toDataReferenceList(TripLonglineDto.class, tripLonglines); } diff --git a/services-topia/src/main/java/fr/ird/observe/services/topia/service/seine/TripSeineServiceTopia.java b/services-topia/src/main/java/fr/ird/observe/services/topia/service/seine/TripSeineServiceTopia.java index bf77b50..db1a1be 100644 --- a/services-topia/src/main/java/fr/ird/observe/services/topia/service/seine/TripSeineServiceTopia.java +++ b/services-topia/src/main/java/fr/ird/observe/services/topia/service/seine/TripSeineServiceTopia.java @@ -33,7 +33,7 @@ import fr.ird.observe.entities.referentiel.SpeciesList; import fr.ird.observe.entities.seine.TripSeine; import fr.ird.observe.entities.seine.TripSeineTopiaDao; import fr.ird.observe.services.dto.DataReference; -import fr.ird.observe.services.dto.DataReferenceSet; +import fr.ird.observe.services.dto.DataReferenceList; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.TripMapDto; import fr.ird.observe.services.dto.constants.ReferentialLocale; @@ -54,6 +54,7 @@ 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; @@ -70,20 +71,21 @@ public class TripSeineServiceTopia extends ObserveServiceTopia implements TripSe } @Override - public DataReferenceSet<TripSeineDto> getAllTripSeine() { + public DataReferenceList<TripSeineDto> getAllTripSeine() { if (log.isTraceEnabled()) { log.trace("getAllTripSeine()"); } List<TripSeine> tripSeines = loadEntities(TripSeine.class); + tripSeines.sort(Comparator.comparing(TripSeine::getStartDate)); tripSeines.forEach(t -> t.setRouteCount(t.sizeRoute())); - return toDataReferenceSet(TripSeineDto.class, tripSeines); + return toDataReferenceList(TripSeineDto.class, tripSeines); } @Override - public DataReferenceSet<TripSeineDto> getTripSeineByProgram(String programId) { + public DataReferenceList<TripSeineDto> getTripSeineByProgram(String programId) { if (log.isTraceEnabled()) { log.trace("getTripSeineByProgram(" + programId + ")"); } @@ -95,7 +97,7 @@ public class TripSeineServiceTopia extends ObserveServiceTopia implements TripSe List<TripSeine> tripSeines = getDao().findAllStubByProgramId(programId, referenceLocale.ordinal()); - return toDataReferenceSet(TripSeineDto.class, tripSeines); + return toDataReferenceList(TripSeineDto.class, tripSeines); } diff --git a/services-topia/src/test/java/fr/ird/observe/services/topia/service/TripManagementServiceTopiaTest.java b/services-topia/src/test/java/fr/ird/observe/services/topia/service/TripManagementServiceTopiaTest.java index d070dbb..fb22a19 100644 --- a/services-topia/src/test/java/fr/ird/observe/services/topia/service/TripManagementServiceTopiaTest.java +++ b/services-topia/src/test/java/fr/ird/observe/services/topia/service/TripManagementServiceTopiaTest.java @@ -24,6 +24,7 @@ package fr.ird.observe.services.topia.service; import fr.ird.observe.services.configuration.ObserveDataSourceConnection; import fr.ird.observe.services.configuration.topia.ObserveDataSourceConfigurationTopiaH2; +import fr.ird.observe.services.dto.DataReferenceList; import fr.ird.observe.services.dto.DataReferenceSet; import fr.ird.observe.services.dto.DataSourceCreateConfigurationDto; import fr.ird.observe.services.dto.DataSourceCreateWithNoReferentialImportException; @@ -88,13 +89,13 @@ public class TripManagementServiceTopiaTest extends AbstractServiceTopiaTest { @Test public void deleteTrip() { - DataReferenceSet<TripSeineDto> allTripSeineBefore = tripSeineService.getAllTripSeine(); + DataReferenceList<TripSeineDto> allTripSeineBefore = tripSeineService.getAllTripSeine(); DeleteTripRequest request = new DeleteTripRequest(ObserveFixtures.PROGRAM_ID, ObserveFixtures.TRIP_SEINE_ID_1); DeleteTripResult result = tripManagementService.deleteTrip(request); Assert.assertNotNull(result); - DataReferenceSet<TripSeineDto> allTripSeineAfter = tripSeineService.getAllTripSeine(); + DataReferenceList<TripSeineDto> allTripSeineAfter = tripSeineService.getAllTripSeine(); Assert.assertTrue(allTripSeineBefore.sizeReference() == allTripSeineAfter.sizeReference() + 1); } diff --git a/services-topia/src/test/java/fr/ird/observe/services/topia/service/seine/TripSeineServiceTopiaTest.java b/services-topia/src/test/java/fr/ird/observe/services/topia/service/seine/TripSeineServiceTopiaTest.java index 228d691..c445d8f 100644 --- a/services-topia/src/test/java/fr/ird/observe/services/topia/service/seine/TripSeineServiceTopiaTest.java +++ b/services-topia/src/test/java/fr/ird/observe/services/topia/service/seine/TripSeineServiceTopiaTest.java @@ -23,10 +23,8 @@ package fr.ird.observe.services.topia.service.seine; */ import fr.ird.observe.entities.seine.TripSeine; -import fr.ird.observe.services.service.seine.TripSeineService; -import fr.ird.observe.services.topia.ObserveServiceContextTopiaTaiste; import fr.ird.observe.services.dto.DataReference; -import fr.ird.observe.services.dto.DataReferenceSet; +import fr.ird.observe.services.dto.DataReferenceList; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.referential.HarbourDto; import fr.ird.observe.services.dto.referential.OceanDto; @@ -34,12 +32,14 @@ import fr.ird.observe.services.dto.referential.PersonDto; import fr.ird.observe.services.dto.referential.VesselDto; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.TripSeineDto; -import fr.ird.observe.services.topia.service.AbstractServiceTopiaTest; import fr.ird.observe.services.service.BabModelVersionException; import fr.ird.observe.services.service.ConcurrentModificationException; import fr.ird.observe.services.service.DatabaseConnexionNotAuthorizedException; import fr.ird.observe.services.service.DatabaseNotFoundException; import fr.ird.observe.services.service.ReferentialService; +import fr.ird.observe.services.service.seine.TripSeineService; +import fr.ird.observe.services.topia.ObserveServiceContextTopiaTaiste; +import fr.ird.observe.services.topia.service.AbstractServiceTopiaTest; import fr.ird.observe.test.DatabaseName; import fr.ird.observe.test.ObserveFixtures; import fr.ird.observe.test.spi.CopyDatabaseConfiguration; @@ -74,7 +74,7 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { @Test public void getTripSeineByProgramTest() { - DataReferenceSet<TripSeineDto> stubDtos = service.getTripSeineByProgram(ObserveFixtures.PROGRAM_ID); + DataReferenceList<TripSeineDto> stubDtos = service.getTripSeineByProgram(ObserveFixtures.PROGRAM_ID); Assert.assertNotNull(stubDtos); @@ -324,7 +324,7 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { service.delete(ObserveFixtures.TRIP_SEINE_ID_1); - DataReferenceSet<TripSeineDto> tripSeineByProgram = service.getTripSeineByProgram(ObserveFixtures.PROGRAM_ID); + DataReferenceList<TripSeineDto> tripSeineByProgram = service.getTripSeineByProgram(ObserveFixtures.PROGRAM_ID); Assert.assertEquals(2, tripSeineByProgram.sizeReference()); diff --git a/services/src/main/java/fr/ird/observe/services/service/longline/TripLonglineService.java b/services/src/main/java/fr/ird/observe/services/service/longline/TripLonglineService.java index b946db7..4757398 100644 --- a/services/src/main/java/fr/ird/observe/services/service/longline/TripLonglineService.java +++ b/services/src/main/java/fr/ird/observe/services/service/longline/TripLonglineService.java @@ -25,7 +25,7 @@ package fr.ird.observe.services.service.longline; import com.google.common.collect.ImmutableList; import fr.ird.observe.services.ObserveService; import fr.ird.observe.services.dto.DataReference; -import fr.ird.observe.services.dto.DataReferenceSet; +import fr.ird.observe.services.dto.DataReferenceList; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.TripMapDto; import fr.ird.observe.services.dto.longline.TripLonglineDto; @@ -46,10 +46,10 @@ import java.util.List; public interface TripLonglineService extends ObserveService { @ReadDataPermission - DataReferenceSet<TripLonglineDto> getAllTripLongline(); + DataReferenceList<TripLonglineDto> getAllTripLongline(); @ReadDataPermission - DataReferenceSet<TripLonglineDto> getTripLonglineByProgram(String programId); + DataReferenceList<TripLonglineDto> getTripLonglineByProgram(String programId); @ReadDataPermission int getTripLonglinePositionInProgram(String programId, String tripLonglineId); diff --git a/services/src/main/java/fr/ird/observe/services/service/seine/TripSeineService.java b/services/src/main/java/fr/ird/observe/services/service/seine/TripSeineService.java index f6fe28b..4d18776 100644 --- a/services/src/main/java/fr/ird/observe/services/service/seine/TripSeineService.java +++ b/services/src/main/java/fr/ird/observe/services/service/seine/TripSeineService.java @@ -25,7 +25,7 @@ package fr.ird.observe.services.service.seine; import com.google.common.collect.ImmutableList; import fr.ird.observe.services.ObserveService; import fr.ird.observe.services.dto.DataReference; -import fr.ird.observe.services.dto.DataReferenceSet; +import fr.ird.observe.services.dto.DataReferenceList; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.TripMapDto; import fr.ird.observe.services.dto.referential.ReferentialReference; @@ -46,10 +46,10 @@ import java.util.List; public interface TripSeineService extends ObserveService { @ReadDataPermission - DataReferenceSet<TripSeineDto> getAllTripSeine(); + DataReferenceList<TripSeineDto> getAllTripSeine(); @ReadDataPermission - DataReferenceSet<TripSeineDto> getTripSeineByProgram(String programId); + DataReferenceList<TripSeineDto> getTripSeineByProgram(String programId); @ReadDataPermission int getTripSeinePositionInProgram(String programId, String tripSeineId); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop-5.x in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit 62159851ad43de078968b66e6ee8b8e05056a747 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 10 12:49:51 2016 +0100 Impossible d'exporter des marées en mode serveur (Fixes #8862) --- .../services/dto}/ObserveBlobsContainer.java | 2 +- .../dto/gson/ObserveBlobsContainerAdapter.java | 48 ++++++++++++++++++++++ .../services/dto/gson/ObserveDtoGsonSupplier.java | 2 + .../services/rest/http/ObserveResponseBuilder.java | 30 +++++++------- .../service/ImportTripScriptTopiaSqlWork.java | 2 +- .../service/SqlScriptProducerServiceTopia.java | 2 +- .../topia/service/TripManagementServiceTopia.java | 2 +- .../service/AddSqlScriptProducerResult.java | 1 + .../services/service/trip/ExportTripResult.java | 2 +- .../services/service/trip/ImportTripRequest.java | 2 +- 10 files changed, 72 insertions(+), 21 deletions(-) diff --git a/services/src/main/java/fr/ird/observe/services/service/ObserveBlobsContainer.java b/services-dto/src/main/java/fr/ird/observe/services/dto/ObserveBlobsContainer.java similarity index 97% rename from services/src/main/java/fr/ird/observe/services/service/ObserveBlobsContainer.java rename to services-dto/src/main/java/fr/ird/observe/services/dto/ObserveBlobsContainer.java index 7368fc0..d1a4b31 100644 --- a/services/src/main/java/fr/ird/observe/services/service/ObserveBlobsContainer.java +++ b/services-dto/src/main/java/fr/ird/observe/services/dto/ObserveBlobsContainer.java @@ -1,4 +1,4 @@ -package fr.ird.observe.services.service; +package fr.ird.observe.services.dto; /*- * #%L diff --git a/services-dto/src/main/java/fr/ird/observe/services/dto/gson/ObserveBlobsContainerAdapter.java b/services-dto/src/main/java/fr/ird/observe/services/dto/gson/ObserveBlobsContainerAdapter.java new file mode 100644 index 0000000..be5c055 --- /dev/null +++ b/services-dto/src/main/java/fr/ird/observe/services/dto/gson/ObserveBlobsContainerAdapter.java @@ -0,0 +1,48 @@ +package fr.ird.observe.services.dto.gson; + +import com.google.common.collect.ImmutableMap; +import com.google.common.reflect.TypeParameter; +import com.google.common.reflect.TypeToken; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import fr.ird.observe.services.dto.ObserveBlobsContainer; + +import java.lang.reflect.Type; +import java.util.Map; + +/** + * Created on 10/12/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 5.1 + */ +public class ObserveBlobsContainerAdapter implements JsonDeserializer<ObserveBlobsContainer> { + + @Override + public ObserveBlobsContainer deserialize(JsonElement json, Type type, JsonDeserializationContext context) throws JsonParseException { + + JsonObject jsonObject = json.getAsJsonObject(); + + String tableName = jsonObject.get("tableName").getAsString(); + String columnName = jsonObject.get("columnName").getAsString(); + + Type mapType = mapOf(TypeToken.of(String.class), TypeToken.of(byte[].class)).getType(); + Map<String, byte[]> blobsById = context.deserialize(jsonObject.get("blobsById"), mapType); + + return new ObserveBlobsContainer(tableName, columnName, ImmutableMap.copyOf(blobsById)); + } + + static <K, V> TypeToken<Map<K, V>> mapOf(TypeToken<K> keyType, TypeToken<V> valueType) { + return new TypeToken<Map<K, V>>() { + } + .where(new TypeParameter<K>() { + }, keyType) + .where(new TypeParameter<V>() { + }, valueType); + } + +} + diff --git a/services-dto/src/main/java/fr/ird/observe/services/dto/gson/ObserveDtoGsonSupplier.java b/services-dto/src/main/java/fr/ird/observe/services/dto/gson/ObserveDtoGsonSupplier.java index 641a36d..9b9c443 100644 --- a/services-dto/src/main/java/fr/ird/observe/services/dto/gson/ObserveDtoGsonSupplier.java +++ b/services-dto/src/main/java/fr/ird/observe/services/dto/gson/ObserveDtoGsonSupplier.java @@ -33,6 +33,7 @@ import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.DataReferenceList; import fr.ird.observe.services.dto.DataReferenceSet; import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.ObserveBlobsContainer; import fr.ird.observe.services.dto.actions.report.ReportVariable; import fr.ird.observe.services.dto.gson.reference.DataReferenceAdapter; import fr.ird.observe.services.dto.gson.reference.DataReferenceListAdapter; @@ -102,6 +103,7 @@ public class ObserveDtoGsonSupplier implements Supplier<Gson> { gsonBuilder.registerTypeAdapter(ImmutableSet.class, new ImmutableSetAdapter()); gsonBuilder.registerTypeAdapter(ImmutableMap.class, new ImmutableMapAdapter()); gsonBuilder.registerTypeAdapter(ImmutableMultimap.class, new ImmutableMultimapAdapter()); + gsonBuilder.registerTypeAdapter(ObserveBlobsContainer.class, new ObserveBlobsContainerAdapter()); gsonBuilder.registerTypeAdapter(DataReference.class, new DataReferenceAdapter()); gsonBuilder.registerTypeAdapter(ReferentialReference.class, new ReferentialReferenceAdapter()); diff --git a/services-rest/src/main/java/fr/ird/observe/services/rest/http/ObserveResponseBuilder.java b/services-rest/src/main/java/fr/ird/observe/services/rest/http/ObserveResponseBuilder.java index c5442c1..e3bb616 100644 --- a/services-rest/src/main/java/fr/ird/observe/services/rest/http/ObserveResponseBuilder.java +++ b/services-rest/src/main/java/fr/ird/observe/services/rest/http/ObserveResponseBuilder.java @@ -261,33 +261,33 @@ public class ObserveResponseBuilder { postMethod.setConfig(requestConfig); // postMethod.setParams(httpParams); } - + if (StringUtils.isBlank(contentType)) { + contentType = "text/plain"; + } + ContentType contentType1 = ContentType.create(contentType, StandardCharsets.UTF_8); if (request.withoutFiles()) { addHeaders(postMethod, request.getHeaders()); - addParameters(postMethod, contentType, request.getParameters()); +// addParameters(postMethod, contentType, request.getParameters()); addRequestBody(postMethod, contentType, requestBody); + + MultipartEntityBuilder multipartEntityBuilder = MultipartEntityBuilder.create(); + for (NameValuePair param : request.getParameters()) { + multipartEntityBuilder.addTextBody(param.getName(), param.getValue(), contentType1); + } + postMethod.setEntity(multipartEntityBuilder.build()); + } else { addHeaders(postMethod, request.getHeaders()); - addParameters(postMethod, contentType, request.getParameters()); +// addParameters(postMethod, contentType, request.getParameters()); addRequestBody(postMethod, contentType, requestBody); - MultipartEntityBuilder multipartEntityBuilder = MultipartEntityBuilder.create(); - -// MultipartEntity entity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE); + MultipartEntityBuilder multipartEntityBuilder = MultipartEntityBuilder.create(); for (Map.Entry<String, File> paramFile : request.getFiles().entrySet()) { multipartEntityBuilder.addBinaryBody(paramFile.getKey(), paramFile.getValue()); -// entity.addPart(paramFile.getKey(), new FileBody(paramFile.getValue())); } for (NameValuePair param : request.getParameters()) { - if (StringUtils.isBlank(contentType)) { - contentType = "text/plain"; - } - multipartEntityBuilder.addTextBody(param.getName(), param.getValue(), ContentType.create(contentType, StandardCharsets.UTF_8)); - -// entity.addPart(param.getName(), new StringBody(param.getValue(), contentType, -// Charset.forName("UTF-8"))); + multipartEntityBuilder.addTextBody(param.getName(), param.getValue(), contentType1); } - postMethod.setEntity(multipartEntityBuilder.build()); } diff --git a/services-topia/src/main/java/fr/ird/observe/services/topia/service/ImportTripScriptTopiaSqlWork.java b/services-topia/src/main/java/fr/ird/observe/services/topia/service/ImportTripScriptTopiaSqlWork.java index 185dda2..80761ce 100644 --- a/services-topia/src/main/java/fr/ird/observe/services/topia/service/ImportTripScriptTopiaSqlWork.java +++ b/services-topia/src/main/java/fr/ird/observe/services/topia/service/ImportTripScriptTopiaSqlWork.java @@ -24,7 +24,7 @@ package fr.ird.observe.services.topia.service; import com.google.common.collect.ImmutableSet; import fr.ird.observe.RunScriptTopiaSqlWork; -import fr.ird.observe.services.service.ObserveBlobsContainer; +import fr.ird.observe.services.dto.ObserveBlobsContainer; import javax.sql.rowset.serial.SerialBlob; import java.sql.Connection; diff --git a/services-topia/src/main/java/fr/ird/observe/services/topia/service/SqlScriptProducerServiceTopia.java b/services-topia/src/main/java/fr/ird/observe/services/topia/service/SqlScriptProducerServiceTopia.java index 6cdb2c0..8fc6be5 100644 --- a/services-topia/src/main/java/fr/ird/observe/services/topia/service/SqlScriptProducerServiceTopia.java +++ b/services-topia/src/main/java/fr/ird/observe/services/topia/service/SqlScriptProducerServiceTopia.java @@ -28,7 +28,7 @@ import fr.ird.observe.entities.Entities; import fr.ird.observe.services.service.AddSqlScriptProducerRequest; import fr.ird.observe.services.service.AddSqlScriptProducerResult; import fr.ird.observe.services.service.DeleteSqlScriptProducerRequest; -import fr.ird.observe.services.service.ObserveBlobsContainer; +import fr.ird.observe.services.dto.ObserveBlobsContainer; import fr.ird.observe.services.service.SqlScriptProducerService; import fr.ird.observe.services.topia.ObserveServiceTopia; import org.apache.commons.logging.Log; diff --git a/services-topia/src/main/java/fr/ird/observe/services/topia/service/TripManagementServiceTopia.java b/services-topia/src/main/java/fr/ird/observe/services/topia/service/TripManagementServiceTopia.java index 31eaf02..8b4ecfd 100644 --- a/services-topia/src/main/java/fr/ird/observe/services/topia/service/TripManagementServiceTopia.java +++ b/services-topia/src/main/java/fr/ird/observe/services/topia/service/TripManagementServiceTopia.java @@ -37,7 +37,7 @@ import fr.ird.observe.services.dto.IdHelper; import fr.ird.observe.services.service.AddSqlScriptProducerRequest; import fr.ird.observe.services.service.AddSqlScriptProducerResult; import fr.ird.observe.services.service.DeleteSqlScriptProducerRequest; -import fr.ird.observe.services.service.ObserveBlobsContainer; +import fr.ird.observe.services.dto.ObserveBlobsContainer; import fr.ird.observe.services.service.SqlScriptProducerService; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; diff --git a/services/src/main/java/fr/ird/observe/services/service/AddSqlScriptProducerResult.java b/services/src/main/java/fr/ird/observe/services/service/AddSqlScriptProducerResult.java index 70207d0..07d886a 100644 --- a/services/src/main/java/fr/ird/observe/services/service/AddSqlScriptProducerResult.java +++ b/services/src/main/java/fr/ird/observe/services/service/AddSqlScriptProducerResult.java @@ -23,6 +23,7 @@ package fr.ird.observe.services.service; */ import com.google.common.collect.ImmutableSet; +import fr.ird.observe.services.dto.ObserveBlobsContainer; /** * Created on 24/08/16. diff --git a/services/src/main/java/fr/ird/observe/services/service/trip/ExportTripResult.java b/services/src/main/java/fr/ird/observe/services/service/trip/ExportTripResult.java index 2032a4f..a2465b0 100644 --- a/services/src/main/java/fr/ird/observe/services/service/trip/ExportTripResult.java +++ b/services/src/main/java/fr/ird/observe/services/service/trip/ExportTripResult.java @@ -24,7 +24,7 @@ package fr.ird.observe.services.service.trip; import com.google.common.collect.ImmutableSet; import fr.ird.observe.services.dto.ObserveDto; -import fr.ird.observe.services.service.ObserveBlobsContainer; +import fr.ird.observe.services.dto.ObserveBlobsContainer; /** * Created on 27/08/16. diff --git a/services/src/main/java/fr/ird/observe/services/service/trip/ImportTripRequest.java b/services/src/main/java/fr/ird/observe/services/service/trip/ImportTripRequest.java index a54f87a..0b6d91a 100644 --- a/services/src/main/java/fr/ird/observe/services/service/trip/ImportTripRequest.java +++ b/services/src/main/java/fr/ird/observe/services/service/trip/ImportTripRequest.java @@ -24,7 +24,7 @@ package fr.ird.observe.services.service.trip; import com.google.common.collect.ImmutableSet; import fr.ird.observe.services.dto.ObserveDto; -import fr.ird.observe.services.service.ObserveBlobsContainer; +import fr.ird.observe.services.dto.ObserveBlobsContainer; /** * Created on 27/08/16. -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop-5.x in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit b8e381e6d08bc6cbe80d8c2c3309628589fe2a25 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 10 13:01:08 2016 +0100 Problème de chargement du fichier des talbeaux de synthèse (Fixes #8865) --- .../fr/ird/observe/application/swing/ui/admin/report/ReportModel.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportModel.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportModel.java index d5e9c05..9c57972 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportModel.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportModel.java @@ -109,6 +109,7 @@ public class ReportModel extends AdminActionModel { variables = new TreeMap<>(); // quand le type de modèle change, on mets à jour les rapports disponibles addPropertyChangeListener(MODEL_TYPE_PROPERTY_NAME, evt -> updateReports()); + addPropertyChangeListener(REPORT_FILE_PROPERTY_NAME, evt -> updateReports()); } public List<Report> loadReports(URL resource) throws IOException { @@ -130,8 +131,6 @@ public class ReportModel extends AdminActionModel { Object old = this.reportFile; this.reportFile = reportFile; firePropertyChange(REPORT_FILE_PROPERTY_NAME, old, reportFile); - reports = null; - getReports(); } public boolean isAutoCopyToClipboard() { -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop-5.x in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit d4f2db82d0783e5d59d5afbdf817a611d552a426 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 10 13:27:54 2016 +0100 Mémorisation du dernier dossier utilisé (Fixes #8864) --- .../src/main/config/ObserveSwingApplication.ini | 8 ++++++++ .../i18n/application-swing-configuration_en_GB.properties | 1 + .../i18n/application-swing-configuration_es_ES.properties | 1 + .../i18n/application-swing-configuration_fr_FR.properties | 1 + .../application/swing/ui/actions/ImportStorageFromFileAction.java | 8 ++++++++ .../observe/application/swing/ui/actions/ShowConfigAction.java | 1 + 6 files changed, 20 insertions(+) diff --git a/application-swing-configuration/src/main/config/ObserveSwingApplication.ini b/application-swing-configuration/src/main/config/ObserveSwingApplication.ini index 34e1816..2c03b37 100644 --- a/application-swing-configuration/src/main/config/ObserveSwingApplication.ini +++ b/application-swing-configuration/src/main/config/ObserveSwingApplication.ini @@ -53,6 +53,14 @@ defaultValue = ${data.directory}/backup transient = true final = true +[option importDirectory] +description = observe.config.importDirectory.description +key = import.directory +type = file +defaultValue = ${data.directory}/backup +transient = true +final = true + [option resourcesDirectory] description = observe.config.defaultResourcesDirectory.description key = resources.directory diff --git a/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_en_GB.properties b/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_en_GB.properties index 11ed12d..6ee062e 100644 --- a/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_en_GB.properties +++ b/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_en_GB.properties @@ -31,6 +31,7 @@ observe.config.h2.can.migrate.description=Flag to know if you can migrate h2 dat observe.config.h2.login.description=H2 Login observe.config.h2.password.description=H2 Password observe.config.h2.serverPort.description=Server port number +observe.config.importDirectory.description=Import directory observe.config.logConfigurationFile.description=Log file configuration observe.config.map.background.description=Color of background observe.config.map.layer1.description=File (shapefile) for layer 1 of map diff --git a/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_es_ES.properties b/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_es_ES.properties index 98e5260..9a29a6f 100644 --- a/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_es_ES.properties +++ b/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_es_ES.properties @@ -31,6 +31,7 @@ observe.config.h2.can.migrate.description=Autorizar la actualización de las bas observe.config.h2.login.description=Login h2 observe.config.h2.password.description=Contraseña h2 observe.config.h2.serverPort.description=Puerto del servidor h2 +observe.config.importDirectory.description=Répertoire où chercher les imports \#TODO observe.config.logConfigurationFile.description=Archivo de configuration de los logs observe.config.map.background.description=Color del fondo del mapa observe.config.map.layer1.description=Archivo (shapeFiles) del primer calco del mapa diff --git a/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_fr_FR.properties b/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_fr_FR.properties index 9ab7026..58a6ef2 100644 --- a/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_fr_FR.properties +++ b/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_fr_FR.properties @@ -31,6 +31,7 @@ observe.config.h2.can.migrate.description=Autoriser la mise à jour des bases lo observe.config.h2.login.description=Le login h2 observe.config.h2.password.description=Le mot de passe h2 observe.config.h2.serverPort.description=Port du serveur h2 +observe.config.importDirectory.description=Répertoire où chercher les imports observe.config.logConfigurationFile.description=Fichier de configuration des logs observe.config.map.background.description=Couleur du fond de carte observe.config.map.layer1.description=Fichier (shapeFiles) du premier calque de la carte diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/ImportStorageFromFileAction.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/ImportStorageFromFileAction.java index d8b0a42..78eb2bc 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/ImportStorageFromFileAction.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/ImportStorageFromFileAction.java @@ -23,6 +23,7 @@ package fr.ird.observe.application.swing.ui.actions; */ import fr.ird.observe.application.swing.ObserveSwingApplicationContext; +import fr.ird.observe.application.swing.configuration.ObserveSwingApplicationConfig; import fr.ird.observe.application.swing.configuration.constants.CreationMode; import fr.ird.observe.application.swing.configuration.constants.DbMode; import fr.ird.observe.application.swing.ui.ObserveMainUI; @@ -35,6 +36,7 @@ import jaxx.runtime.SwingUtil; import javax.swing.AbstractAction; import java.awt.event.ActionEvent; +import java.io.File; import static org.nuiton.i18n.I18n.t; @@ -71,6 +73,7 @@ public class ImportStorageFromFileAction extends AbstractAction { super.init(ui); StorageUIModel model = ui.getModel(); + model.setDumpFile(ImportStorageFromFileAction.this.ui.getConfig().getImportDirectory()); model.setCanCreateLocalService(true); model.setCanUseLocalService(false); model.setCanUseRemoteService(false); @@ -95,6 +98,11 @@ public class ImportStorageFromFileAction extends AbstractAction { super.doAction(ui); StorageUIHandler handler = getStorageUIHandler(); handler.doChangeStorage(ui.getModel()); + + File importDirectory = ui.getModel().getDumpFile().getParentFile(); + ObserveSwingApplicationConfig config = ImportStorageFromFileAction.this.ui.getConfig(); + config.setImportDirectory(importDirectory); + config.saveForUser(); } }.start(); diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/ShowConfigAction.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/ShowConfigAction.java index dba3337..22f05b5 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/ShowConfigAction.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/ShowConfigAction.java @@ -259,6 +259,7 @@ public class ShowConfigAction extends AbstractAction { helper.addOption(ObserveSwingApplicationConfigOption.DATA_DIRECTORY); helper.addOption(ObserveSwingApplicationConfigOption.DB_DIRECTORY); helper.addOption(ObserveSwingApplicationConfigOption.BACKUP_DIRECTORY); + helper.addOption(ObserveSwingApplicationConfigOption.IMPORT_DIRECTORY); helper.addOption(ObserveSwingApplicationConfigOption.TMP_DIRECTORY); helper.addOption(ObserveSwingApplicationConfigOption.VALIDATION_REPORT_DIRECTORY); helper.addOption(ObserveSwingApplicationConfigOption.RESOURCES_DIRECTORY); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop-5.x in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit ee023b2817b4022a5faa36761f18ea12cce5cb80 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 10 15:54:33 2016 +0100 [persistence] Toujours utiliser la configuration hibernate customisé même pour les services de topia (Fixes #8868) --- .../java/fr/ird/observe/ObserveTopiaApplicationContext.java | 12 ------------ .../main/java/fr/ird/observe/ObserveTopiaConfiguration.java | 6 ++++++ pom.xml | 2 +- 3 files changed, 7 insertions(+), 13 deletions(-) diff --git a/entities/src/main/java/fr/ird/observe/ObserveTopiaApplicationContext.java b/entities/src/main/java/fr/ird/observe/ObserveTopiaApplicationContext.java index a48d0e6..3fb657a 100644 --- a/entities/src/main/java/fr/ird/observe/ObserveTopiaApplicationContext.java +++ b/entities/src/main/java/fr/ird/observe/ObserveTopiaApplicationContext.java @@ -31,7 +31,6 @@ import org.apache.commons.logging.LogFactory; import org.hibernate.HibernateException; import org.hibernate.cfg.Configuration; import org.hibernate.tool.hbm2ddl.SchemaExport; -import org.nuiton.topia.persistence.HibernateAvailableSettings; import org.nuiton.topia.persistence.TopiaException; import org.nuiton.topia.persistence.internal.support.TopiaMetadataModelSupportImpl; import org.nuiton.topia.persistence.jdbc.JdbcH2Helper; @@ -49,7 +48,6 @@ import java.nio.file.Files; import java.nio.file.Path; import java.util.LinkedHashSet; import java.util.Objects; -import java.util.Properties; import java.util.Set; import java.util.UUID; import java.util.stream.Collectors; @@ -92,16 +90,6 @@ public class ObserveTopiaApplicationContext extends AbstractObserveTopiaApplicat this.topiaMetadataModelSupport = new TopiaMetadataModelSupportImpl("fr.ird.observe", "Observe"); this.topiaSqlTablesFactory = new TopiaSqlTablesFactory(getMetadataModel(), this); this.observeMigrationConfigurationProvider = ObserveMigrationConfigurationProvider.get(); - - // La valeur par défaut dans ToPIA est 20 et c'est trop peu - //FIXME Il semblerait que l'export d'une marée consome une connection mais ne la rend pas - //FIXME On devrait du coup limiter le nombre de marées à exporter (200-300) - Properties properties = new Properties(); - properties.put(HibernateAvailableSettings.C3P0_MAX_SIZE, 500); - properties.put(HibernateAvailableSettings.C3P0_MAX_STATEMENTS, 500); - properties.put(HibernateAvailableSettings.C3P0_TIMEOUT, 100); - getHibernateProvider().getHibernateConfiguration().addProperties(properties); - } @Override diff --git a/entities/src/main/java/fr/ird/observe/ObserveTopiaConfiguration.java b/entities/src/main/java/fr/ird/observe/ObserveTopiaConfiguration.java index 543f0dd..7793463 100644 --- a/entities/src/main/java/fr/ird/observe/ObserveTopiaConfiguration.java +++ b/entities/src/main/java/fr/ird/observe/ObserveTopiaConfiguration.java @@ -23,6 +23,7 @@ package fr.ird.observe; */ import org.nuiton.topia.persistence.BeanTopiaConfiguration; +import org.nuiton.topia.persistence.HibernateAvailableSettings; import org.nuiton.topia.persistence.jdbc.JdbcConfiguration; /** @@ -39,6 +40,11 @@ public class ObserveTopiaConfiguration extends BeanTopiaConfiguration { public ObserveTopiaConfiguration(JdbcConfiguration jdbcConfiguration, boolean h2Configuration) { super(jdbcConfiguration); this.h2Configuration = h2Configuration; + + hibernateExtraConfiguration.put(HibernateAvailableSettings.CONNECTION_PROVIDER, "org.hibernate.c3p0.internal.C3P0ConnectionProvider"); + hibernateExtraConfiguration.put(HibernateAvailableSettings.C3P0_MAX_SIZE, "500"); + hibernateExtraConfiguration.put(HibernateAvailableSettings.C3P0_MAX_STATEMENTS, "500"); + hibernateExtraConfiguration.put(HibernateAvailableSettings.C3P0_TIMEOUT, "100"); } public boolean isH2Configuration() { diff --git a/pom.xml b/pom.xml index 6f30653..5517f98 100644 --- a/pom.xml +++ b/pom.xml @@ -161,7 +161,7 @@ <eugenePluginVersion>3.0-alpha-9</eugenePluginVersion> <processorPluginVersion>1.3</processorPluginVersion> - <topiaVersion>3.1.3.2</topiaVersion> + <topiaVersion>3.2-SNAPSHOT</topiaVersion> <jaxxVersion>2.34</jaxxVersion> <nuitonI18nVersion>3.6.2</nuitonI18nVersion> <nuitonValidatorVersion>3.0.1</nuitonValidatorVersion> -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop-5.x in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit 786cb56829fa485cf7f868b7f4fdf7cddd177f03 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 10 15:55:13 2016 +0100 [stack] updates to guava 20.0 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 5517f98..ee50bbd 100644 --- a/pom.xml +++ b/pom.xml @@ -281,7 +281,7 @@ <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> - <version>19.0</version> + <version>20.0</version> </dependency> <dependency> <groupId>com.google.code.gson</groupId> -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop-5.x in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit fed98e069d011b16f9012da5d21f5fc102bd0233 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 10 16:10:58 2016 +0100 L'application ne gère pas bien le rappel du formulaire ouvert (Fixes #8858) --- .../swing/ui/content/open/ContentOpenableUIHandler.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/open/ContentOpenableUIHandler.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/open/ContentOpenableUIHandler.java index 7f227f3..0a92fdb 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/open/ContentOpenableUIHandler.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/open/ContentOpenableUIHandler.java @@ -22,6 +22,7 @@ package fr.ird.observe.application.swing.ui.content.open; import fr.ird.observe.application.swing.ObserveSwingApplicationContext; +import fr.ird.observe.application.swing.configuration.ObserveSwingApplicationConfig; import fr.ird.observe.application.swing.db.ObserveSwingDataSource; import fr.ird.observe.application.swing.db.constants.DataContextType; import fr.ird.observe.application.swing.ui.UIHelper; @@ -113,6 +114,8 @@ public abstract class ContentOpenableUIHandler<E extends IdDto> extends ContentU // on lance l'édition ui.restartEdit(); + + saveOpenIds(); } public final void closeDataUI() { @@ -156,6 +159,9 @@ public abstract class ContentOpenableUIHandler<E extends IdDto> extends ContentU // treeHelper.refreshNode(selectedNode, true); treeHelper.reloadSelectedNode(bean instanceof TripSeineDto || bean instanceof TripLonglineDto, true); updateActions(); + + saveOpenIds(); + } @Override @@ -256,6 +262,8 @@ public abstract class ContentOpenableUIHandler<E extends IdDto> extends ContentU log.debug("PARENT NODE = " + parentNode); } treeHelper.addUnsavedNode(parentNode, getBeanType()); + + saveOpenIds(); } protected final void obtainChildPosition(E bean) { @@ -352,4 +360,11 @@ public abstract class ContentOpenableUIHandler<E extends IdDto> extends ContentU } + protected void saveOpenIds() { + String[] openIds = getDataContext().getOpenIds(); + ObserveSwingApplicationConfig config = ObserveSwingApplicationContext.get().getConfig(); + config.setTreeOpenNodeIds(openIds); + config.saveForUser(); + } + } \ No newline at end of file -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm