Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: acb996e9 by tchemit at 2019-08-03T15:30:55Z when sanitize is not ok, let's just continue - - - - - e77468af by tchemit at 2019-08-03T18:26:21Z [UI][REFERENTIEL] L'icône 'voir toutes les utilisations de ce référentiel' ne fonctionne pas - Closes #1370 - - - - - 17 changed files: - client-core/src/main/java/fr/ird/observe/client/ObserveSwingApplicationContext.java - client-core/src/main/java/fr/ird/observe/client/ui/content/ref/usage/UsageUIHandlerSupport.java - dto/src/main/i18n/getters/eugene.getter - dto/src/main/i18n/getters/java.getter - dto/src/main/java/fr/ird/observe/dto/decoration/DecoratorService.java - dto/src/main/java/fr/ird/observe/dto/decoration/ObserveI18nLabelsBuilder.java - dto/src/main/java/fr/ird/observe/dto/decoration/decorators/NonTargetLengthDecorator.java - dto/src/main/java/fr/ird/observe/spi/DtoModelClasses.java - dto/src/main/models/Observe-20-data-ps-observation.model - dto/src/main/models/Observe-25-data-ps.model - dto/src/main/models/Observe-35-data-ll.model - observe-i18n/src/main/i18n/translations/observe_en_GB.properties - observe-i18n/src/main/i18n/translations/observe_es_ES.properties - observe-i18n/src/main/i18n/translations/observe_fr_FR.properties - + services-client/src/main/java/fr/ird/observe/services/client/usage/UsageServiceClient.java - services-local/src/main/java/fr/ird/observe/services/local/service/usage/UsageServiceLocal.java - test/src/main/resources/fixtures/global.properties Changes: ===================================== client-core/src/main/java/fr/ird/observe/client/ObserveSwingApplicationContext.java ===================================== @@ -358,16 +358,20 @@ public class ObserveSwingApplicationContext extends DefaultApplicationContext im } public void sanitizeIds(ProgressModel progressModel, DtoModelNavigationAggregateModel navigationSelectModel) { - for (DtoModelNavigationModel<?> navigationModel : navigationSelectModel.getModels()) { - for (DtoModelNavigationNode node : navigationModel.getNodesWithIds()) { - if (node.isEnabled()) { - ImmutableSet<String> safeIds = ObserveSwingDataSource.MAIN.getNavigationService().retainExistingIds(ImmutableSet.of(node.getId())); - if (safeIds.isEmpty()) { - node.setId(null); + try { + for (DtoModelNavigationModel<?> navigationModel : navigationSelectModel.getModels()) { + for (DtoModelNavigationNode node : navigationModel.getNodesWithIds()) { + if (node.isEnabled()) { + ImmutableSet<String> safeIds = ObserveSwingDataSource.MAIN.getNavigationService().retainExistingIds(ImmutableSet.of(node.getId())); + if (safeIds.isEmpty()) { + node.setId(null); + } } + progressModel.incrementsCurrentStep(); } - progressModel.incrementsCurrentStep(); } + } catch (Exception e) { + log.error("Could not sanitizeIds", e); } } ===================================== client-core/src/main/java/fr/ird/observe/client/ui/content/ref/usage/UsageUIHandlerSupport.java ===================================== @@ -165,7 +165,7 @@ public abstract class UsageUIHandlerSupport<D extends ReferentialDto, R extends long count = result.getCount().get(dtoType); DtoUsageCountRequest<D> request = result.getRequest(); - SingletonSupplier<Collection<RR>> factory = SingletonSupplier.of(() -> usageService.find(request, dtoType)); + SingletonSupplier<Collection<RR>> factory = SingletonSupplier.of(() -> usageService.find(request, referenceType)); DtoUsageUIModel<T, RR> model = new DtoUsageUIModel<>(dtoType, referenceType, count, factory); ===================================== dto/src/main/i18n/getters/eugene.getter ===================================== @@ -1,4 +1,5 @@ observe.data.ll.common.GearUseFeatures.type +observe.data.ll.common.GearUseFeaturesMeasurement.type observe.data.ll.common.Trip.type observe.data.ll.landing.Landing.type observe.data.ll.landing.LandingPart.type @@ -27,6 +28,7 @@ observe.data.ll.observation.SizeMeasure.type observe.data.ll.observation.Tdr.type observe.data.ll.observation.WeightMeasure.type observe.data.ps.common.GearUseFeatures.type +observe.data.ps.common.GearUseFeaturesMeasurement.type observe.data.ps.common.Trip.type observe.data.ps.observation.Activity.type observe.data.ps.observation.FloatingObject.type ===================================== dto/src/main/i18n/getters/java.getter ===================================== @@ -40,8 +40,8 @@ observe.data.Data.traceCutOff observe.data.Data.vessel observe.data.Data.weightMeasureMethod observe.data.ll.logbook.Set.type -observe.data.ll.logbook.SetLonglineDetailComposition.type -observe.data.ll.logbook.SetLonglineGlobalComposition.type +observe.data.ll.logbook.SetDetailComposition.type +observe.data.ll.logbook.SetGlobalComposition.type observe.data.ll.observation.Set.type observe.data.ps.observation.Set.type observe.referential.I18nReferential.label ===================================== dto/src/main/java/fr/ird/observe/dto/decoration/DecoratorService.java ===================================== @@ -27,6 +27,8 @@ import fr.ird.observe.dto.ObserveModelInitializer; import fr.ird.observe.dto.ObserveModelInitializerRunner; import fr.ird.observe.dto.data.DataDto; import fr.ird.observe.dto.data.ll.common.GearUseFeaturesDto; +import fr.ird.observe.dto.data.ll.common.GearUseFeaturesMeasurementDto; +import fr.ird.observe.dto.data.ll.common.GearUseFeaturesMeasurementReference; import fr.ird.observe.dto.data.ll.common.GearUseFeaturesReference; import fr.ird.observe.dto.data.ll.common.TripReference; import fr.ird.observe.dto.data.ll.landing.LandingDto; @@ -327,8 +329,8 @@ public class DecoratorService extends DecoratorProvider { @Override public void initLlObservationActivityDto() { registerDataAndDataReferenceDecorator(ActivityDto.class, ActivityReference.class, - "${timeStamp}$td/%1$tm/%1$tY %1$tH:%1$tM##${VesselActivity/label}$s", - "${timeStamp}$td/%1$tm/%1$tY %1$tH:%1$tM##${VesselActivityLabel}$s", + "${timeStamp}$td/%1$tm/%1$tY %1$tH:%1$tM##${vesselActivity/label}$s", + "${timeStamp}$td/%1$tm/%1$tY %1$tH:%1$tM##${vesselActivityLabel}$s", " - "); registerObserveDecorator(TripActivityDto.class, "${timeStamp}$td/%1$tm/%1$tY %1$tH:%1$t", " - "); @@ -337,8 +339,8 @@ public class DecoratorService extends DecoratorProvider { @Override public void initLlLogbookActivityDto() { registerDataAndDataReferenceDecorator(fr.ird.observe.dto.data.ll.logbook.ActivityDto.class, fr.ird.observe.dto.data.ll.logbook.ActivityReference.class, - "${startTimeStamp}$td/%1$tm/%1$tY %1$tH:%1$tM##${VesselActivity/label}$s", - "${startTimeStamp}$td/%1$tm/%1$tY %1$tH:%1$tM##${VesselActivityLabel}$s", + "${startTimeStamp}$td/%1$tm/%1$tY %1$tH:%1$tM##${vesselActivity/label}$s", + "${startTimeStamp}$td/%1$tm/%1$tY %1$tH:%1$tM##${vesselActivityLabel}$s", " - "); } @@ -470,6 +472,8 @@ public class DecoratorService extends DecoratorProvider { @Override public void initLlCommonGearUseFeaturesMeasurementDto() { + registerDataAndDataReferenceDecorator(GearUseFeaturesMeasurementDto.class, GearUseFeaturesMeasurementReference.class, "${gearCaracteristic/label}$s##${measurementValue}$s", + "${gearCaracteristicLabel}$s##${measurementValue}$s"); } @Override @@ -551,8 +555,8 @@ public class DecoratorService extends DecoratorProvider { @Override public void initLlObservationSizeMeasureDto() { - registerDataAndDataReferenceDecorator(SizeMeasureDto.class, SizeMeasureReference.class, "${sizeType/label}$s##${size}$s", - "${sizeTypeLabel}$s##${size}$s"); + registerDataAndDataReferenceDecorator(SizeMeasureDto.class, SizeMeasureReference.class, "${sizeMeasureType/label}$s##${size}$s", + "${sizeMeasureTypeLabel}$s##${size}$s"); } @Override @@ -1013,6 +1017,8 @@ public class DecoratorService extends DecoratorProvider { @Override public void initPsCommonGearUseFeaturesMeasurementDto() { + registerDataAndDataReferenceDecorator(fr.ird.observe.dto.data.ps.common.GearUseFeaturesMeasurementDto.class, fr.ird.observe.dto.data.ps.common.GearUseFeaturesMeasurementReference.class, "${gearCaracteristic/label}$s##${measurementValue}$s", + "${gearCaracteristicLabel}$s##${measurementValue}$s"); } @Override @@ -1037,7 +1043,7 @@ public class DecoratorService extends DecoratorProvider { public void initPsObservationNonTargetLengthDto() { registerDecorator(new NonTargetLengthDecorator()); - registerDataReferenceDecorator(NonTargetLengthReference.class, "${speciesLabel}$s##${length}$f##${sexLabel}$s"); + registerDataReferenceDecorator(NonTargetLengthReference.class, "${speciesLabel}$s##${length}$s##${sexLabel}$s"); } @Override ===================================== dto/src/main/java/fr/ird/observe/dto/decoration/ObserveI18nLabelsBuilder.java ===================================== @@ -92,8 +92,8 @@ public class ObserveI18nLabelsBuilder extends BeanPropertyI18nKeyProducerSupport n("observe.referential.Referential.uri"); n("observe.referential.Referential.needComment"); n("observe.referential.Referential.validityDateRange"); - n("observe.data.ll.logbook.SetLonglineGlobalComposition.type"); - n("observe.data.ll.logbook.SetLonglineDetailComposition.type"); + n("observe.data.ll.logbook.SetGlobalComposition.type"); + n("observe.data.ll.logbook.SetDetailComposition.type"); n("observe.referential.WithFormula.equation"); n("observe.referential.WithFormula.coefficients"); ===================================== dto/src/main/java/fr/ird/observe/dto/decoration/decorators/NonTargetLengthDecorator.java ===================================== @@ -36,7 +36,7 @@ public class NonTargetLengthDecorator extends ObserveDecorator<NonTargetLengthDt public NonTargetLengthDecorator() throws IllegalArgumentException, NullPointerException { super(NonTargetLengthDto.class, - "${species/scientificLabel}$s##${length}$f##${sex}$s" + "${species/scientificLabel}$s##${length}$s##${sex}$s" ); } ===================================== dto/src/main/java/fr/ird/observe/spi/DtoModelClasses.java ===================================== @@ -158,8 +158,6 @@ import fr.ird.observe.dto.referential.ps.observation.WeightCategoryDto; public class DtoModelClasses { public static final ImmutableSet<Class<? extends DataDto>> ENTITY_DATA_WITH_NO_BINDER_TYPES = ImmutableSet.<Class<? extends DataDto>>builder() - .add(fr.ird.observe.dto.data.ps.common.GearUseFeaturesMeasurementDto.class) - .add(GearUseFeaturesMeasurementDto.class) .add(NonTargetSampleDto.class) .add(TargetSampleDto.class) .build(); ===================================== dto/src/main/models/Observe-20-data-ps-observation.model ===================================== @@ -104,7 +104,7 @@ data.ps.observation.NonTargetSample > data.Commentable | form=data.ps.observatio nonTargetLength + {*} data.ps.observation.NonTargetLength | ordered speciesFate {*:*} fr.ird.observe.dto.referential.ps.common.SpeciesFateReference -data.ps.observation.ObjectObservedSpecies > data.Data | references=speciesLabel,speciesStatusLabel +data.ps.observation.ObjectObservedSpecies > data.Data | references=speciesLabel,speciesStatusLabel,count count + {*:1} Integer statut + {*:1} Integer speciesStatus {*:1} fr.ird.observe.dto.referential.ps.observation.SpeciesStatusReference ===================================== dto/src/main/models/Observe-25-data-ps.model ===================================== @@ -1,6 +1,6 @@ package fr.ird.observe.dto.data.ps.common | form=self -data.ps.common.GearUseFeaturesMeasurement > data.Data +data.ps.common.GearUseFeaturesMeasurement > data.Data | references=measurementValue,gearCaracteristicLabel measurementValue + {*:1} String gearCaracteristic {*:1} fr.ird.observe.dto.referential.common.GearCaracteristicReference ===================================== dto/src/main/models/Observe-35-data-ll.model ===================================== @@ -6,7 +6,7 @@ usedInTrip + {*:1} Boolean gearUseFeaturesMeasurement + {*} data.ll.common.GearUseFeaturesMeasurement | ordered gear {*:1} fr.ird.observe.dto.referential.common.GearReference -data.ll.common.GearUseFeaturesMeasurement > data.Data +data.ll.common.GearUseFeaturesMeasurement > data.Data | references=measurementValue,gearCaracteristicLabel measurementValue + {*:1} String gearCaracteristic {*:1} fr.ird.observe.dto.referential.common.GearCaracteristicReference ===================================== observe-i18n/src/main/i18n/translations/observe_en_GB.properties ===================================== @@ -813,6 +813,7 @@ observe.data.ll.common.GearUseFeatures.title=Gears observe.data.ll.common.GearUseFeatures.type=Gear uses features observe.data.ll.common.GearUseFeatures.types=Gear uses features observe.data.ll.common.GearUseFeatures.usedInTrip=Used in trip +observe.data.ll.common.GearUseFeaturesMeasurement.type=Measurement type observe.data.ll.common.GearUseFeaturesMeasurementLongline.title=Gear uses feature measurements observe.data.ll.common.Trip.activityObs=Activity observe.data.ll.common.Trip.availableData=Available data @@ -1227,6 +1228,7 @@ observe.data.ll.logbook.Set.type=Set observe.data.ll.logbook.Set.types=Sets observe.data.ll.logbook.Set.weightedSnap=Weighted snap observe.data.ll.logbook.Set.weightedSwivel=Weighted swivel +observe.data.ll.logbook.SetDetailComposition.type=Detailed composition observe.data.ll.logbook.SetGlobalComposition.availableMitigationType=Available mitigations observe.data.ll.logbook.SetGlobalComposition.baitsComposition=Baits composition observe.data.ll.logbook.SetGlobalComposition.baitsCompositionProportionSum=Baits composition proportion sum @@ -1244,17 +1246,9 @@ observe.data.ll.logbook.SetGlobalComposition.hooksCompositionTab=Hooks observe.data.ll.logbook.SetGlobalComposition.mitigationTypeTab=Mitigation observe.data.ll.logbook.SetGlobalComposition.selectedMitigationType=Selected mitigations observe.data.ll.logbook.SetGlobalComposition.title=Global composition +observe.data.ll.logbook.SetGlobalComposition.type=Global composition observe.data.ll.logbook.SetLogbook.action.goToOpen.short=Logbook - Open set observe.data.ll.logbook.SetLogbook.action.goToOpen.tip=Go to open set (Logbook) -observe.data.ll.logbook.SetLonglineDetailComposition.type=Detailed composition -observe.data.ll.logbook.SetLonglineGlobalComposition.availableMitigationType=Available mitigations -observe.data.ll.logbook.SetLonglineGlobalComposition.baitsCompositionTab=Baits -observe.data.ll.logbook.SetLonglineGlobalComposition.branchlinesCompositionTab=Branchlines -observe.data.ll.logbook.SetLonglineGlobalComposition.floatlinesCompositionTab=Floatlines -observe.data.ll.logbook.SetLonglineGlobalComposition.hooksCompositionTab=Hooks -observe.data.ll.logbook.SetLonglineGlobalComposition.mitigationTypeTab=Mitigation -observe.data.ll.logbook.SetLonglineGlobalComposition.selectedMitigationType=Selected mitigations -observe.data.ll.logbook.SetLonglineGlobalComposition.type=Global composition observe.data.ll.logbook.TripSampleList.action.close.tip=Close the opened sample observe.data.ll.logbook.TripSampleList.action.create=Next sample observe.data.ll.logbook.TripSampleList.action.create.tip=create next sample @@ -1798,6 +1792,7 @@ observe.data.ps.common.GearUseFeatures.type=Gear uses features observe.data.ps.common.GearUseFeatures.types=Gear uses features observe.data.ps.common.GearUseFeatures.usedInTrip=Used in trip observe.data.ps.common.GearUseFeaturesMeasurement.title=Gear uses feature measurements +observe.data.ps.common.GearUseFeaturesMeasurement.type=Measurement type observe.data.ps.common.Trip.action.close.tip=Close the opened maree observe.data.ps.common.Trip.action.closeAndCreate=Next trip observe.data.ps.common.Trip.action.closeAndCreate.tip=close current trip and create a new one ===================================== observe-i18n/src/main/i18n/translations/observe_es_ES.properties ===================================== @@ -813,6 +813,7 @@ observe.data.ll.common.GearUseFeatures.title=Equipos observe.data.ll.common.GearUseFeatures.type=Equipamiento observe.data.ll.common.GearUseFeatures.types=Equipamientos observe.data.ll.common.GearUseFeatures.usedInTrip=Utilizado en la marea +observe.data.ll.common.GearUseFeaturesMeasurement.type=Tipo observe.data.ll.common.GearUseFeaturesMeasurementLongline.title=Medidas observe.data.ll.common.Trip.activityObs=Actividad observe.data.ll.common.Trip.availableData=Données disponibles @@ -1227,6 +1228,7 @@ observe.data.ll.logbook.Set.type=Operación de pesca observe.data.ll.logbook.Set.types=Operaciones de pesca observe.data.ll.logbook.Set.weightedSnap=Snap lesté observe.data.ll.logbook.Set.weightedSwivel=Émerillon lesté +observe.data.ll.logbook.SetDetailComposition.type=Composición detallada observe.data.ll.logbook.SetGlobalComposition.availableMitigationType=Atenuaciónes disponibles observe.data.ll.logbook.SetGlobalComposition.baitsComposition=Cebo observe.data.ll.logbook.SetGlobalComposition.baitsCompositionProportionSum=Suma de los proporciónes de cebo (%) @@ -1244,17 +1246,9 @@ observe.data.ll.logbook.SetGlobalComposition.hooksCompositionTab=Anzuelos observe.data.ll.logbook.SetGlobalComposition.mitigationTypeTab=Atenuaciónes observe.data.ll.logbook.SetGlobalComposition.selectedMitigationType=Atenuaciónes seleccionadas observe.data.ll.logbook.SetGlobalComposition.title=Composición global del palangre +observe.data.ll.logbook.SetGlobalComposition.type=Composición global observe.data.ll.logbook.SetLogbook.action.goToOpen.short=Logbook - Open set \#TODO observe.data.ll.logbook.SetLogbook.action.goToOpen.tip=Go to open set (Logbook) \#TODO -observe.data.ll.logbook.SetLonglineDetailComposition.type=Composición detallada -observe.data.ll.logbook.SetLonglineGlobalComposition.availableMitigationType=Atenuaciónes disponibles -observe.data.ll.logbook.SetLonglineGlobalComposition.baitsCompositionTab=Cebos -observe.data.ll.logbook.SetLonglineGlobalComposition.branchlinesCompositionTab=Arponcillos -observe.data.ll.logbook.SetLonglineGlobalComposition.floatlinesCompositionTab=Orinques -observe.data.ll.logbook.SetLonglineGlobalComposition.hooksCompositionTab=Anzuelos -observe.data.ll.logbook.SetLonglineGlobalComposition.mitigationTypeTab=Atenuaciónes -observe.data.ll.logbook.SetLonglineGlobalComposition.selectedMitigationType=Atenuaciónes seleccionadas -observe.data.ll.logbook.SetLonglineGlobalComposition.type=Composición global observe.data.ll.logbook.TripSampleList.action.close.tip=Close the opened sample observe.data.ll.logbook.TripSampleList.action.create=Next sample observe.data.ll.logbook.TripSampleList.action.create.tip=Create next sample @@ -1798,6 +1792,7 @@ observe.data.ps.common.GearUseFeatures.type=Equipamiento observe.data.ps.common.GearUseFeatures.types=Equipamientos observe.data.ps.common.GearUseFeatures.usedInTrip=Utilizado en la marea observe.data.ps.common.GearUseFeaturesMeasurement.title=Medidas +observe.data.ps.common.GearUseFeaturesMeasurement.type=Tipo observe.data.ps.common.Trip.action.close.tip=Cierre de la marea abierta observe.data.ps.common.Trip.action.closeAndCreate=Marea siguiente observe.data.ps.common.Trip.action.closeAndCreate.tip=Cierre de la marea actual y creación de una nueva ===================================== observe-i18n/src/main/i18n/translations/observe_fr_FR.properties ===================================== @@ -813,6 +813,7 @@ observe.data.ll.common.GearUseFeatures.title=Équipements observe.data.ll.common.GearUseFeatures.type=Équipement observe.data.ll.common.GearUseFeatures.types=Équipements observe.data.ll.common.GearUseFeatures.usedInTrip=Utilisé dans la marée +observe.data.ll.common.GearUseFeaturesMeasurement.type=Type de mesure observe.data.ll.common.GearUseFeaturesMeasurementLongline.title=Mesures observe.data.ll.common.Trip.activityObs=Activité observe.data.ll.common.Trip.availableData=Données disponibles @@ -1227,6 +1228,7 @@ observe.data.ll.logbook.Set.type=Opération de pêche observe.data.ll.logbook.Set.types=Opérations de pêche observe.data.ll.logbook.Set.weightedSnap=Snap lesté observe.data.ll.logbook.Set.weightedSwivel=Émerillon lesté +observe.data.ll.logbook.SetDetailComposition.type=Composition détaillée observe.data.ll.logbook.SetGlobalComposition.availableMitigationType=Atténuations disponibles observe.data.ll.logbook.SetGlobalComposition.baitsComposition=Appâts observe.data.ll.logbook.SetGlobalComposition.baitsCompositionProportionSum=Somme des proportions d'appâts (%) @@ -1244,17 +1246,9 @@ observe.data.ll.logbook.SetGlobalComposition.hooksCompositionTab=Hameçons observe.data.ll.logbook.SetGlobalComposition.mitigationTypeTab=Atténuations observe.data.ll.logbook.SetGlobalComposition.selectedMitigationType=Atténuations sélectionnées observe.data.ll.logbook.SetGlobalComposition.title=Composition globale de la palangre +observe.data.ll.logbook.SetGlobalComposition.type=Composition globale observe.data.ll.logbook.SetLogbook.action.goToOpen.short=Livre de bord - Calée ouverte observe.data.ll.logbook.SetLogbook.action.goToOpen.tip=Accéder à la calée ouverte (Livre de bord) -observe.data.ll.logbook.SetLonglineDetailComposition.type=Composition détaillée -observe.data.ll.logbook.SetLonglineGlobalComposition.availableMitigationType=Atténuations disponibles -observe.data.ll.logbook.SetLonglineGlobalComposition.baitsCompositionTab=Appâts -observe.data.ll.logbook.SetLonglineGlobalComposition.branchlinesCompositionTab=Avançons -observe.data.ll.logbook.SetLonglineGlobalComposition.floatlinesCompositionTab=Orins -observe.data.ll.logbook.SetLonglineGlobalComposition.hooksCompositionTab=Hameçons -observe.data.ll.logbook.SetLonglineGlobalComposition.mitigationTypeTab=Atténuations -observe.data.ll.logbook.SetLonglineGlobalComposition.selectedMitigationType=Atténuations sélectionnées -observe.data.ll.logbook.SetLonglineGlobalComposition.type=Composition globale observe.data.ll.logbook.TripSampleList.action.close.tip=Clôturer l'échantillon ouverte observe.data.ll.logbook.TripSampleList.action.create=Échantillon suivant observe.data.ll.logbook.TripSampleList.action.create.tip=Créer l’échantillon suivant @@ -1798,6 +1792,7 @@ observe.data.ps.common.GearUseFeatures.type=Équipement observe.data.ps.common.GearUseFeatures.types=Équipements observe.data.ps.common.GearUseFeatures.usedInTrip=Utilisé dans la marée observe.data.ps.common.GearUseFeaturesMeasurement.title=Mesures +observe.data.ps.common.GearUseFeaturesMeasurement.type=Type de mesure observe.data.ps.common.Trip.action.close.tip=Clôturer la marée ouverte observe.data.ps.common.Trip.action.closeAndCreate=Marée suivante observe.data.ps.common.Trip.action.closeAndCreate.tip=Clôturer la marée courante et en créer une nouvelle ===================================== services-client/src/main/java/fr/ird/observe/services/client/usage/UsageServiceClient.java ===================================== @@ -0,0 +1,47 @@ +package fr.ird.observe.services.client.usage; + +/*- + * #%L + * ObServe :: Services client implementation + * %% + * Copyright (C) 2008 - 2019 IRD, Code Lutin, Ultreia.io + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ + +import com.google.common.collect.ImmutableSet; +import fr.ird.observe.dto.IdDto; +import fr.ird.observe.dto.reference.DtoReference; +import fr.ird.observe.dto.referential.ReferentialDto; +import fr.ird.observe.services.service.usage.DtoUsageCountRequest; +import org.apache.http.HttpStatus; + +import java.util.concurrent.TimeUnit; + +public class UsageServiceClient extends GeneratedUsageServiceClient { + + @Override + public <D extends ReferentialDto, T extends IdDto, R extends DtoReference<T, R>> ImmutableSet<R> find(DtoUsageCountRequest<D> request, Class<R> targetType) { + return executeRequest(create("find") + .addParameter("request", gson().toJson(request)) + .addParameter("targetType", targetType) + .addAuthToken() + .useMultiPartForm() + .setTimeout(TimeUnit.MINUTES, 1) + .post(), HttpStatus.SC_OK).toImmutableSet(targetType); + } + +} ===================================== services-local/src/main/java/fr/ird/observe/services/local/service/usage/UsageServiceLocal.java ===================================== @@ -43,7 +43,7 @@ import fr.ird.observe.services.service.usage.UsageService; import fr.ird.observe.spi.DbModelHelper; import fr.ird.observe.spi.DtoModelHelper; import fr.ird.observe.spi.context.DataEntityContext; -import fr.ird.observe.spi.context.DtoEntityContext; +import fr.ird.observe.spi.context.ReferenceEntityContext; import fr.ird.observe.spi.context.ReferentialEntityContext; import fr.ird.observe.spi.map.ImmutableTypedMap; import org.nuiton.topia.persistence.TopiaEntity; @@ -75,12 +75,12 @@ public class UsageServiceLocal extends ObserveServiceLocal implements UsageServi } @Override - public <D extends ReferentialDto, T extends IdDto, R extends DtoReference<T, R>> ImmutableSet<R> find(DtoUsageCountRequest<D> request, Class<T> targetType) { + public <D extends ReferentialDto, T extends IdDto, R extends DtoReference<T, R>> ImmutableSet<R> find(DtoUsageCountRequest<D> request, Class<R> targetType) { ObserveReferentialEntity entity = loadEntity(request.getDtoType(), request.getId()); TopiaUsageSupport topiaUsageSupport = serviceContext.getTopiaPersistenceContext().getTopiaUsageSupport(); - DtoEntityContext<T, R, ObserveEntity> entityContext = DbModelHelper.fromDto(targetType); + ReferenceEntityContext<T, R, ObserveEntity> entityContext = DbModelHelper.fromReference(targetType); Class<ObserveEntity> entityType = entityContext.toEntityType(); List<ObserveEntity> compositions = topiaUsageSupport.findReverseComposition(entity, entityType); ===================================== test/src/main/resources/fixtures/global.properties ===================================== @@ -31,7 +31,7 @@ SET_SEINE_ID=fr.ird.data.ps.observation.Set#1359573677233#0.016313003525718517 GEAR_USE_FEATURES_SEINE_ID=fr.ird.data.ps.common.GearUseFeatures#1440486230661#0.42614931015885216 GEAR_USE_FEATURES_SEINE_ID_1=fr.ird.data.ps.common.GearUseFeatures#1440486230661#0.42614931015885216 SPECIES_GROUP_ID=fr.ird.referential.common.SpeciesGroup#1239832683689#0.7120116158620075 -REFERENCE_DATA_COUNT=44 +REFERENCE_DATA_COUNT=46 DATA_FORM_COUNT=59 VALIDATORS_COUNT=87 VALIDATOR_CREATE_DATA_COUNT=7 View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/compare/7e15a83e094f7c832cb39910a8d... -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/compare/7e15a83e094f7c832cb39910a8d... You're receiving this email because of your account on gitlab.com.
participants (1)
-
Tony CHEMIT