This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository tutti. See http://git.codelutin.com/tutti.git commit 54a5917f2f64141ce157a9df0a62713bfe60324d Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Nov 19 11:26:50 2015 +0100 Permettre aussi d'intégrer les ensembles de références sur les données métiers à la récupération d'un FormDto --- .../fr/ird/observe/db/ObserveSwingDataSource.java | 62 +++++++++++++++++----- .../open/impl/seine/TripSeineUIHandler.java | 2 +- 2 files changed, 50 insertions(+), 14 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveSwingDataSource.java b/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveSwingDataSource.java index a5c57ed..cd53d2a 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveSwingDataSource.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveSwingDataSource.java @@ -3,7 +3,6 @@ package fr.ird.observe.db; import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Sets; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.configuration.ObserveSwingApplicationConfig; import fr.ird.observe.db.event.ObserveSwingDataSourceEvent; @@ -26,9 +25,14 @@ import fr.ird.observe.services.dto.IncompatibleDataSourceCreateConfigurationExce import fr.ird.observe.services.dto.ObserveDbUserDto; import fr.ird.observe.services.dto.ReferenceSetDto; import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.reference.ObserveReference; +import fr.ird.observe.services.dto.reference.ObserveReferenceSet; import fr.ird.observe.services.dto.reference.ObserveReferenceSetRequest; import fr.ird.observe.services.dto.reference.ObserveReferenceSetResult; import fr.ird.observe.services.dto.reference.ObserveReferentialReference; +import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinition; +import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; +import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestKeyDefinition; import fr.ird.observe.services.service.BabModelVersionException; import fr.ird.observe.services.service.DataSourceService; import fr.ird.observe.services.service.DatabaseConnexionNotAuthorizedException; @@ -43,7 +47,6 @@ import javax.swing.JOptionPane; import javax.swing.event.EventListenerList; import java.io.Closeable; import java.io.File; -import java.util.Collection; import java.util.Date; import java.util.LinkedHashSet; import java.util.Locale; @@ -264,26 +267,59 @@ public class ObserveSwingDataSource extends AbstractSerializableBean implements } - public ImmutableMap<String, ReferenceSetDto<?>> loadReferentialReferenceSets(FormDto<?> formDto) { + public void loadReferenceSets(FormDto<?> formDto) { + + Preconditions.checkState(!isOpen(), "Connection is open"); ReferenceSetService referenceSetService = newService(ReferenceSetService.class); - String requestName = formDto.getReferentialReferenceSetRequestName(); + LinkedHashSet<ReferenceSetDto> values = new LinkedHashSet<>(); + + String referentialRequestName = formDto.getReferentialReferenceSetRequestName(); + if (referentialRequestName != null) { + + if (log.isInfoEnabled()) { + log.info("Loading referantialReferenceSetRequest: " + referentialRequestName); + } + ImmutableMap<String, Date> lastUpdateDates = referentialCache.getLastUpdateDates(referentialRequestName); + + ObserveReferenceSetRequest request = new ObserveReferenceSetRequest(); + request.setRequestName(referentialRequestName); + request.setLastUpdateDates(lastUpdateDates); - ImmutableMap<String, Date> lastUpdateDates = referentialCache.getLastUpdateDates(requestName); + ObserveReferenceSetResult<ObserveReferentialReference> referenceSetResult = referenceSetService.loadReferentialReferenceSets(request); - ObserveReferenceSetRequest request = new ObserveReferenceSetRequest(); - request.setRequestName(requestName); - request.setLastUpdateDates(lastUpdateDates); + ImmutableMap<String, ReferenceSetDto<?>> referenceSets = referentialCache.loadReferenceSets(referenceSetResult); + values.addAll(referenceSets.values()); + } - ObserveReferenceSetResult<ObserveReferentialReference> referenceSetResult = referenceSetService.loadReferentialReferenceSets(request); + String dataRequestName = formDto.getDataReferenceSetRequestName(); + if (dataRequestName != null) { - ImmutableMap<String, ReferenceSetDto<?>> referenceSets = referentialCache.loadReferenceSets(referenceSetResult); + if (log.isInfoEnabled()) { + log.info("Loading dataReferenceSetRequest: " + dataRequestName); + } + ObserveReferenceSetRequest request = new ObserveReferenceSetRequest(); + request.setRequestName(dataRequestName); + request.setLastUpdateDates(ImmutableMap.<String, Date>of()); - LinkedHashSet<ReferenceSetDto<?>> values = Sets.newLinkedHashSet(referenceSets.values()); - formDto.setLabels((Collection) values); + ObserveReferenceSetResult<ObserveReference> referenceSetResult = referenceSetService.loadDataReferenceSets(request); + ImmutableMap<String, ObserveReferenceSet<?, ObserveReference>> referenceSets = referenceSetResult.getReferenceSets(); + + ObserveReferenceSetRequestDefinition requestDefinition = ObserveReferenceSetRequestDefinitions.get(dataRequestName); + for (ObserveReferenceSetRequestKeyDefinition requestKeyDefinition : requestDefinition.getKeys()) { + + String requestKeyDefinitionName = requestKeyDefinition.getName(); + ObserveReferenceSet<?, ObserveReference> referenceSet = referenceSets.get(requestKeyDefinitionName); + + ReferenceSetDto<?> referenceSetDto = referenceSet.toReferenceSetDto(requestKeyDefinitionName); + values.add(referenceSetDto); + + } + + } - return referenceSets; + formDto.setLabels(values); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUIHandler.java index 9b89832..60c87b6 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUIHandler.java @@ -194,7 +194,7 @@ public class TripSeineUIHandler extends ContentOpenableUIHandler<TripSeineDto> { } - getDataSource().loadReferentialReferenceSets(formDto); + getDataSource().loadReferenceSets(formDto); getModel().setFormDto(formDto); TripSeineDtos.copyTripSeineDto(formDto.getForm(), bean); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.