branch feature/refactor_reference updated (fbb865c -> f86dd9b)
This is an automated email from the git hooks/post-receive script. New change to branch feature/refactor_reference in repository observe. See http://git.codelutin.com/observe.git from fbb865c ajout des définitions pour les référentiels new c4959a1 Reformatage des définitions new b0ac682 Permettre de transformer un ObserveReference en RefereceDto new 2b82426 Ajout au FormDto du nom des deux requètes qu'il peut utiliser new 37347bc Fix NPE new 215eb14 Mise en place du cache de réferentiels et intégration dans l'application swing new 3f1d907 Utilisation du système de requète sur l'écran TripSeine new f86dd9b Permettre aussi d'intégrer les ensembles de références sur les données métiers à la récupération d'un FormDto 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 f86dd9b19c9b6f246b5dee5801413d26352c6eb9 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 commit 3f1d9071e19046c9e89280a04fd8e191a28a1a2c Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Nov 19 11:10:11 2015 +0100 Utilisation du système de requète sur l'écran TripSeine commit 215eb149dd1487f157b0eaa8b7409d3a637361dc Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Nov 19 11:09:48 2015 +0100 Mise en place du cache de réferentiels et intégration dans l'application swing commit 37347bc6d1a671f4934152fefd768e200a93fe16 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Nov 19 11:09:19 2015 +0100 Fix NPE commit 2b82426c45897540292c80ddc3527678d8d30f24 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Nov 19 11:08:50 2015 +0100 Ajout au FormDto du nom des deux requètes qu'il peut utiliser commit b0ac68219077d425c4f985799c1f226d747b0e55 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Nov 19 11:08:19 2015 +0100 Permettre de transformer un ObserveReference en RefereceDto commit c4959a16dc79511fbb8b58efa8b76bf75e3a03c6 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Nov 19 11:07:48 2015 +0100 Reformatage des définitions Summary of changes: .../fr/ird/observe/db/ObserveReferentialCache.java | 117 ++++++++++---- .../fr/ird/observe/db/ObserveSwingDataSource.java | 77 +++++++++ .../open/impl/seine/TripSeineUIHandler.java | 4 +- .../java/fr/ird/observe/services/dto/FormDto.java | 32 ++++ .../dto/reference/ObserveReferenceSet.java | 24 +++ .../ObserveReferenceSetRequestDefinitions.java | 174 ++++++++++++--------- .../services/service/ReferenceSetServiceTopia.java | 4 +- .../service/seine/TripSeineServiceTopia.java | 4 + 8 files changed, 328 insertions(+), 108 deletions(-) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository observe. See http://git.codelutin.com/observe.git commit c4959a16dc79511fbb8b58efa8b76bf75e3a03c6 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Nov 19 11:07:48 2015 +0100 Reformatage des définitions --- .../ObserveReferenceSetRequestDefinitions.java | 174 ++++++++++++--------- 1 file changed, 98 insertions(+), 76 deletions(-) diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetRequestDefinitions.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetRequestDefinitions.java index 12a26ea..26a11fe 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetRequestDefinitions.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetRequestDefinitions.java @@ -23,6 +23,44 @@ import fr.ird.observe.services.dto.seine.FloatingObjectDto; import fr.ird.observe.services.dto.seine.SetSeineDto; import fr.ird.observe.services.dto.seine.TripSeineDto; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.BAIT_HAULING_STATUS; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.BAIT_SETTING_STATUS; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.BAIT_TYPE; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.COUNTRY; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.DETECTION_MODE; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.FPA_ZONE; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.GEAR_CARACTERISTIC; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.GEAR_CARACTERISTIC_TYPE; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.HARBOUR; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.HOOK_SIZE; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.HOOK_TYPE; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.LIGHTSTICKS_COLOR; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.LIGHTSTICKS_TYPE; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.LINE_TYPE; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.MITIGATION_TYPE; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.OBJECT_FATE; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.OBJECT_OPERATION; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.OBJECT_TYPE; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.OBSERVED_SYSTEM; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.OCEAN; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.ORGANISM; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.PERSON; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.PROGRAM; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.REASON_FOR_NO_FISHING; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.REASON_FOR_NULL_SET; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.SETTING_SHAPE; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.SEX; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.SPECIES; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.SPECIES_GROUP; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.SURROUNDING_ACTIVITY; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.TRIP_TYPE; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.VESSEL; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.VESSEL_ACTIVITY_LONGLINE; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.VESSEL_ACTIVITY_SEINE; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.VESSEL_SIZE_CATEGORY; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.VESSEL_TYPE; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.WIND; + /** * Contient les définitions de tous les requêtes que les services proposent. * @@ -33,144 +71,128 @@ import fr.ird.observe.services.dto.seine.TripSeineDto; public enum ObserveReferenceSetRequestDefinitions { ACTIVITY_LONGLINE_FORM(newBuilder(ActivityLonglineDto.class) - .addKey(ActivityLonglineDto.PROPERTY_FPA_ZONE, - ObserveReferenceSetDefinitions.FPA_ZONE) - .addKey(ActivityLonglineDto.PROPERTY_VESSEL_ACTIVITY_LONGLINE, - ObserveReferenceSetDefinitions.VESSEL_ACTIVITY_LONGLINE) + .addKey(ActivityLonglineDto.PROPERTY_FPA_ZONE, FPA_ZONE) + .addKey(ActivityLonglineDto.PROPERTY_VESSEL_ACTIVITY_LONGLINE, VESSEL_ACTIVITY_LONGLINE) ), BRANCHLINE_FORM(newBuilder(BranchlineDto.class) - .addKey(BranchlineDto.PROPERTY_BAIT_SETTING_STATUS, ObserveReferenceSetDefinitions.BAIT_SETTING_STATUS) - .addKey(BranchlineDto.PROPERTY_HOOK_SIZE, ObserveReferenceSetDefinitions.HOOK_SIZE) - .addKey(BranchlineDto.PROPERTY_BAIT_HAULING_STATUS, ObserveReferenceSetDefinitions.BAIT_HAULING_STATUS) - .addKey(BranchlineDto.PROPERTY_HOOK_TYPE, ObserveReferenceSetDefinitions.HOOK_TYPE) - .addKey(BranchlineDto.PROPERTY_TRACELINE_TYPE, ObserveReferenceSetDefinitions.LINE_TYPE) - .addKey(BranchlineDto.PROPERTY_TOP_TYPE, ObserveReferenceSetDefinitions.LINE_TYPE) - .addKey(BranchlineDto.PROPERTY_BAIT_TYPE, ObserveReferenceSetDefinitions.BAIT_TYPE) + .addKey(BranchlineDto.PROPERTY_BAIT_SETTING_STATUS, BAIT_SETTING_STATUS) + .addKey(BranchlineDto.PROPERTY_HOOK_SIZE, HOOK_SIZE) + .addKey(BranchlineDto.PROPERTY_BAIT_HAULING_STATUS, BAIT_HAULING_STATUS) + .addKey(BranchlineDto.PROPERTY_HOOK_TYPE, HOOK_TYPE) + .addKey(BranchlineDto.PROPERTY_TRACELINE_TYPE, LINE_TYPE) + .addKey(BranchlineDto.PROPERTY_TOP_TYPE, LINE_TYPE) + .addKey(BranchlineDto.PROPERTY_BAIT_TYPE, BAIT_TYPE) ), SET_LONGLINE_GLOBAL_COMPOSITION_FORM(newBuilder(SetLonglineGlobalCompositionDto.class) - .addKey(SetLonglineGlobalCompositionDto.PROPERTY_MITIGATION_TYPE, - ObserveReferenceSetDefinitions.MITIGATION_TYPE) + .addKey(SetLonglineGlobalCompositionDto.PROPERTY_MITIGATION_TYPE, MITIGATION_TYPE) ), SET_LONGLINE_FORM(newBuilder(SetLonglineDto.class) - .addKey(SetLonglineDto.PROPERTY_SETTING_SHAPE, ObserveReferenceSetDefinitions.SETTING_SHAPE) - .addKey(SetLonglineDto.PROPERTY_LINE_TYPE, ObserveReferenceSetDefinitions.LINE_TYPE) - .addKey(SetLonglineDto.PROPERTY_LIGHTSTICKS_TYPE, ObserveReferenceSetDefinitions.LIGHTSTICKS_TYPE) - .addKey(SetLonglineDto.PROPERTY_LIGHTSTICKS_COLOR, ObserveReferenceSetDefinitions.LIGHTSTICKS_COLOR) + .addKey(SetLonglineDto.PROPERTY_SETTING_SHAPE, SETTING_SHAPE) + .addKey(SetLonglineDto.PROPERTY_LINE_TYPE, LINE_TYPE) + .addKey(SetLonglineDto.PROPERTY_LIGHTSTICKS_TYPE, LIGHTSTICKS_TYPE) + .addKey(SetLonglineDto.PROPERTY_LIGHTSTICKS_COLOR, LIGHTSTICKS_COLOR) ), TRIP_LONGLINE_FORM(newBuilder(TripLonglineDto.class) - .addKey(TripLonglineDto.PROPERTY_TRIP_TYPE, ObserveReferenceSetDefinitions.TRIP_TYPE) - .addKey(TripLonglineDto.PROPERTY_OBSERVER, ObserveReferenceSetDefinitions.PERSON) - .addKey(TripLonglineDto.PROPERTY_VESSEL, ObserveReferenceSetDefinitions.VESSEL) - .addKey(TripLonglineDto.PROPERTY_CAPTAIN, ObserveReferenceSetDefinitions.PERSON) - .addKey(TripLonglineDto.PROPERTY_DATA_ENTRY_OPERATOR, ObserveReferenceSetDefinitions.PERSON) - .addKey(TripLonglineDto.PROPERTY_PROGRAM, ObserveReferenceSetDefinitions.PROGRAM) - .addKey(TripLonglineDto.PROPERTY_OCEAN, ObserveReferenceSetDefinitions.OCEAN) - .addKey(TripLonglineDto.PROPERTY_DEPARTURE_HARBOUR, ObserveReferenceSetDefinitions.HARBOUR) - .addKey(TripLonglineDto.PROPERTY_LANDING_HARBOUR, ObserveReferenceSetDefinitions.HARBOUR) + .addKey(TripLonglineDto.PROPERTY_TRIP_TYPE, TRIP_TYPE) + .addKey(TripLonglineDto.PROPERTY_OBSERVER, PERSON) + .addKey(TripLonglineDto.PROPERTY_VESSEL, VESSEL) + .addKey(TripLonglineDto.PROPERTY_CAPTAIN, PERSON) + .addKey(TripLonglineDto.PROPERTY_DATA_ENTRY_OPERATOR, PERSON) + .addKey(TripLonglineDto.PROPERTY_PROGRAM, PROGRAM) + .addKey(TripLonglineDto.PROPERTY_OCEAN, OCEAN) + .addKey(TripLonglineDto.PROPERTY_DEPARTURE_HARBOUR, HARBOUR) + .addKey(TripLonglineDto.PROPERTY_LANDING_HARBOUR, HARBOUR) ), ACTIVITY_SEINE_OBSERVED_SYSTEM_FORM(newBuilder(ActivitySeineObservedSystemDto.class) - .addKey(ActivitySeineObservedSystemDto.PROPERTY_OBSERVED_SYSTEM, - ObserveReferenceSetDefinitions.OBSERVED_SYSTEM) + .addKey(ActivitySeineObservedSystemDto.PROPERTY_OBSERVED_SYSTEM, OBSERVED_SYSTEM) ), ACTIVITY_SEINE_FORM(newBuilder(ActivitySeineDto.class) - .addKey(ActivitySeineDto.PROPERTY_VESSEL_ACTIVITY_SEINE, - ObserveReferenceSetDefinitions.VESSEL_ACTIVITY_SEINE) - .addKey(ActivitySeineDto.PROPERTY_SURROUNDING_ACTIVITY, - ObserveReferenceSetDefinitions.SURROUNDING_ACTIVITY) - .addKey(ActivitySeineDto.PROPERTY_WIND, ObserveReferenceSetDefinitions.WIND) - .addKey(ActivitySeineDto.PROPERTY_DETECTION_MODE, - ObserveReferenceSetDefinitions.DETECTION_MODE) - .addKey(ActivitySeineDto.PROPERTY_REASON_FOR_NO_FISHING, - ObserveReferenceSetDefinitions.REASON_FOR_NO_FISHING) - .addKey(ActivitySeineDto.PROPERTY_PREVIOUS_FPA_ZONE, - ObserveReferenceSetDefinitions.FPA_ZONE) - .addKey(ActivitySeineDto.PROPERTY_CURRENT_FPA_ZONE, - ObserveReferenceSetDefinitions.FPA_ZONE) - .addKey(ActivitySeineDto.PROPERTY_NEXT_FPA_ZONE, - ObserveReferenceSetDefinitions.FPA_ZONE) + .addKey(ActivitySeineDto.PROPERTY_VESSEL_ACTIVITY_SEINE, VESSEL_ACTIVITY_SEINE) + .addKey(ActivitySeineDto.PROPERTY_SURROUNDING_ACTIVITY, SURROUNDING_ACTIVITY) + .addKey(ActivitySeineDto.PROPERTY_WIND, WIND) + .addKey(ActivitySeineDto.PROPERTY_DETECTION_MODE, DETECTION_MODE) + .addKey(ActivitySeineDto.PROPERTY_REASON_FOR_NO_FISHING, REASON_FOR_NO_FISHING) + .addKey(ActivitySeineDto.PROPERTY_PREVIOUS_FPA_ZONE, FPA_ZONE) + .addKey(ActivitySeineDto.PROPERTY_CURRENT_FPA_ZONE, FPA_ZONE) + .addKey(ActivitySeineDto.PROPERTY_NEXT_FPA_ZONE, FPA_ZONE) ), FLOATING_OBJECT_FORM(newBuilder(FloatingObjectDto.class) - .addKey(FloatingObjectDto.PROPERTY_OBJECT_TYPE, - ObserveReferenceSetDefinitions.OBJECT_TYPE) - .addKey(FloatingObjectDto.PROPERTY_OBJECT_OPERATION, - ObserveReferenceSetDefinitions.OBJECT_OPERATION) - .addKey(FloatingObjectDto.PROPERTY_OBJECT_FATE, - ObserveReferenceSetDefinitions.OBJECT_FATE) + .addKey(FloatingObjectDto.PROPERTY_OBJECT_TYPE, OBJECT_TYPE) + .addKey(FloatingObjectDto.PROPERTY_OBJECT_OPERATION, OBJECT_OPERATION) + .addKey(FloatingObjectDto.PROPERTY_OBJECT_FATE, OBJECT_FATE) ), SET_SEINE_FORM(newBuilder(SetSeineDto.class) - .addKey(SetSeineDto.PROPERTY_REASON_FOR_NULL_SET, - ObserveReferenceSetDefinitions.REASON_FOR_NULL_SET) + .addKey(SetSeineDto.PROPERTY_REASON_FOR_NULL_SET, REASON_FOR_NULL_SET) ), TRIP_SEINE_FORM(newBuilder(TripSeineDto.class) - .addKey(TripSeineDto.PROPERTY_OBSERVER, ObserveReferenceSetDefinitions.PERSON) - .addKey(TripSeineDto.PROPERTY_CAPTAIN, ObserveReferenceSetDefinitions.PERSON) - .addKey(TripSeineDto.PROPERTY_DATA_ENTRY_OPERATOR, ObserveReferenceSetDefinitions.PERSON) - .addKey(TripSeineDto.PROPERTY_VESSEL, ObserveReferenceSetDefinitions.VESSEL) - .addKey(TripSeineDto.PROPERTY_OCEAN, ObserveReferenceSetDefinitions.OCEAN) - .addKey(TripSeineDto.PROPERTY_DEPARTURE_HARBOUR, ObserveReferenceSetDefinitions.HARBOUR) - .addKey(TripSeineDto.PROPERTY_LANDING_HARBOUR, ObserveReferenceSetDefinitions.HARBOUR) - .addKey(TripSeineDto.PROPERTY_PROGRAM, ObserveReferenceSetDefinitions.PROGRAM) + .addKey(TripSeineDto.PROPERTY_OBSERVER, PERSON) + .addKey(TripSeineDto.PROPERTY_CAPTAIN, PERSON) + .addKey(TripSeineDto.PROPERTY_DATA_ENTRY_OPERATOR, PERSON) + .addKey(TripSeineDto.PROPERTY_VESSEL, VESSEL) + .addKey(TripSeineDto.PROPERTY_OCEAN, OCEAN) + .addKey(TripSeineDto.PROPERTY_DEPARTURE_HARBOUR, HARBOUR) + .addKey(TripSeineDto.PROPERTY_LANDING_HARBOUR, HARBOUR) + .addKey(TripSeineDto.PROPERTY_PROGRAM, PROGRAM) ), // REFERENTIAL GEAR_CARACTERISTIC_FORM(newBuilder(GearCaracteristicDto.class) - .addKey(GearCaracteristicDto.PROPERTY_GEAR_CARACTERISTIC_TYPE, - ObserveReferenceSetDefinitions.GEAR_CARACTERISTIC_TYPE) + .addKey(GearCaracteristicDto.PROPERTY_GEAR_CARACTERISTIC_TYPE, GEAR_CARACTERISTIC_TYPE) ), GEAR_FORM(newBuilder(GearDto.class) - .addKey(GearDto.PROPERTY_GEAR_CARACTERISTIC, ObserveReferenceSetDefinitions.GEAR_CARACTERISTIC) + .addKey(GearDto.PROPERTY_GEAR_CARACTERISTIC, GEAR_CARACTERISTIC) ), HARBOUR_FORM(newBuilder(HarbourDto.class) - .addKey(HarbourDto.PROPERTY_COUNTRY, ObserveReferenceSetDefinitions.COUNTRY) + .addKey(HarbourDto.PROPERTY_COUNTRY, COUNTRY) ), LENGTH_WEIGHT_PARAMETER_FORM(newBuilder(LengthWeightParameterDto.class) - .addKey(LengthWeightParameterDto.PROPERTY_SPECIES, ObserveReferenceSetDefinitions.SPECIES) - .addKey(LengthWeightParameterDto.PROPERTY_OCEAN, ObserveReferenceSetDefinitions.OCEAN) - .addKey(LengthWeightParameterDto.PROPERTY_SEX, ObserveReferenceSetDefinitions.SEX) + .addKey(LengthWeightParameterDto.PROPERTY_SPECIES, SPECIES) + .addKey(LengthWeightParameterDto.PROPERTY_OCEAN, OCEAN) + .addKey(LengthWeightParameterDto.PROPERTY_SEX, SEX) ), ORGANISM_FORM(newBuilder(OrganismDto.class) - .addKey(OrganismDto.PROPERTY_COUNTRY, ObserveReferenceSetDefinitions.COUNTRY) + .addKey(OrganismDto.PROPERTY_COUNTRY, COUNTRY) ), PERSON_FORM(newBuilder(PersonDto.class) - .addKey(PersonDto.PROPERTY_COUNTRY, ObserveReferenceSetDefinitions.COUNTRY) + .addKey(PersonDto.PROPERTY_COUNTRY, COUNTRY) ), PROGRAM_FORM(newBuilder(ProgramDto.class) - .addKey(ProgramDto.PROPERTY_ORGANISM, ObserveReferenceSetDefinitions.ORGANISM) + .addKey(ProgramDto.PROPERTY_ORGANISM, ORGANISM) ), SPECIES_FORM(newBuilder(SpeciesDto.class) - .addKey(SpeciesDto.PROPERTY_OCEAN, ObserveReferenceSetDefinitions.OCEAN) - .addKey(SpeciesDto.PROPERTY_SPECIES_GROUP, ObserveReferenceSetDefinitions.SPECIES_GROUP) + .addKey(SpeciesDto.PROPERTY_OCEAN, OCEAN) + .addKey(SpeciesDto.PROPERTY_SPECIES_GROUP, SPECIES_GROUP) ), SPECIES_LIST_FORM(newBuilder(SpeciesListDto.class) - .addKey(SpeciesListDto.PROPERTY_SPECIES, ObserveReferenceSetDefinitions.SPECIES) + .addKey(SpeciesListDto.PROPERTY_SPECIES, SPECIES) ), VESSEL_FORM(newBuilder(VesselDto.class) - .addKey(VesselDto.PROPERTY_FLAG_COUNTRY, ObserveReferenceSetDefinitions.COUNTRY) - .addKey(VesselDto.PROPERTY_VESSEL_TYPE, ObserveReferenceSetDefinitions.VESSEL_TYPE) - .addKey(VesselDto.PROPERTY_VESSEL_SIZE_CATEGORY, ObserveReferenceSetDefinitions.VESSEL_SIZE_CATEGORY) + .addKey(VesselDto.PROPERTY_FLAG_COUNTRY, COUNTRY) + .addKey(VesselDto.PROPERTY_VESSEL_TYPE, VESSEL_TYPE) + .addKey(VesselDto.PROPERTY_VESSEL_SIZE_CATEGORY, VESSEL_SIZE_CATEGORY) ), WEIGHT_CATEGORY_FORM(newBuilder(WeightCategoryDto.class) - .addKey(WeightCategoryDto.PROPERTY_SPECIES, ObserveReferenceSetDefinitions.SPECIES) + .addKey(WeightCategoryDto.PROPERTY_SPECIES, SPECIES) ); public final ObserveReferenceSetRequestDefinition definition; -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository observe. See http://git.codelutin.com/observe.git commit b0ac68219077d425c4f985799c1f226d747b0e55 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Nov 19 11:08:19 2015 +0100 Permettre de transformer un ObserveReference en RefereceDto --- .../dto/reference/ObserveReferenceSet.java | 24 ++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSet.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSet.java index 4d64af1..79b98cb 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSet.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSet.java @@ -2,6 +2,8 @@ package fr.ird.observe.services.dto.reference; import com.google.common.base.MoreObjects; import fr.ird.observe.services.dto.IdDto; +import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.ReferenceSetDto; import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinition; import java.io.Serializable; @@ -58,6 +60,28 @@ public class ObserveReferenceSet<D extends IdDto, R extends ObserveReference> im this.lastUpdate = lastUpdate; } + public ReferenceSetDto<D> toReferenceSetDto(String name) { + + Class<D> type = definition.getType(); + String[] propertyNames = definition.getPropertyNames(); + Class<?>[] propertyTypes = definition.getPropertyTypes(); + + ReferenceSetDto<D> result = new ReferenceSetDto<>(type); + result.setLastUpdate(lastUpdate); + result.setName(name); + + for (R value : values) { + + ReferenceDto<D> referenceDto = new ReferenceDto<>(); + referenceDto.init(type, propertyNames, propertyTypes, value.getValues()); + result.addReference(referenceDto); + + } + + return result; + + } + @Override public String toString() { return MoreObjects.toStringHelper(this) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository observe. See http://git.codelutin.com/observe.git commit 2b82426c45897540292c80ddc3527678d8d30f24 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Nov 19 11:08:50 2015 +0100 Ajout au FormDto du nom des deux requètes qu'il peut utiliser --- .../java/fr/ird/observe/services/dto/FormDto.java | 32 ++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/FormDto.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/FormDto.java index 72d6bbb..6325778 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/FormDto.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/FormDto.java @@ -40,6 +40,15 @@ public class FormDto<R extends IdDto> extends AbstractFormDto { protected R form; + /** + * Le nom de la requète à utiliser pour récupérer les ensembles de référentiels utilisés par ce formulaire. + */ + protected String referentialReferenceSetRequestName; + /** + * Le nom de la requète à utiliser pour récupérer les ensembles de données utilisés par ce formulaire. + */ + protected String dataReferenceSetRequestName; + public FormDto(Class<R> type) { this.type = type; } @@ -56,8 +65,25 @@ public class FormDto<R extends IdDto> extends AbstractFormDto { return type; } + public String getReferentialReferenceSetRequestName() { + return referentialReferenceSetRequestName; + } + + public void setReferentialReferenceSetRequestName(String referentialReferenceSetRequestName) { + this.referentialReferenceSetRequestName = referentialReferenceSetRequestName; + } + + public String getDataReferenceSetRequestName() { + return dataReferenceSetRequestName; + } + + public void setDataReferenceSetRequestName(String dataReferenceSetRequestName) { + this.dataReferenceSetRequestName = dataReferenceSetRequestName; + } + //FIXME Supprimer cette méthode et toujours utiliser celle dessous car un ReferenceSetDto porte aussi sur le nom //FIXME éviter d'avoir des API non déterministes + @Deprecated public <D extends IdDto> ReferenceSetDto<D> getReferenceSetDto(Class<D> type) { Optional<ReferenceSetDto> referenceSetDto = Iterables.tryFind(getLabels(), ReferenceSetDtos.newTypePredicate(type)); @@ -68,6 +94,7 @@ public class FormDto<R extends IdDto> extends AbstractFormDto { } + @Deprecated public <D extends IdDto> ReferenceSetDto<D> getReferenceSetDto(Class<D> type, String name) { Optional<ReferenceSetDto> referenceSetDto = Iterables.tryFind(getLabels(), ReferenceSetDtos.newTypeNamePredicate(type, name)); @@ -86,6 +113,7 @@ public class FormDto<R extends IdDto> extends AbstractFormDto { //FIXME Supprimer cette méthode et toujours utiliser celle dessous car un ReferenceSetDto porte aussi sur le nom //FIXME éviter d'avoir des API non déterministes + @Deprecated public <D extends IdDto> ReferenceDto<D> getReferenceById(Class<D> type, String id) { ReferenceSetDto<D> referenceSetDto = getReferenceSetDto(type); @@ -94,6 +122,7 @@ public class FormDto<R extends IdDto> extends AbstractFormDto { } + @Deprecated public <D extends IdDto> ReferenceDto<D> getReferenceById(Class<D> type, String name, String id) { ReferenceSetDto<D> referenceSetDto = getReferenceSetDto(type, name); @@ -102,6 +131,7 @@ public class FormDto<R extends IdDto> extends AbstractFormDto { } + @Deprecated public <D extends ReferentialDto> ReferentialReferenceDto<D> getReferentialReferenceById(Class<D> type, String id) { ReferenceSetDto<D> referenceSetDto = getReferenceSetDto(type); @@ -114,6 +144,8 @@ public class FormDto<R extends IdDto> extends AbstractFormDto { public String toString() { return MoreObjects.toStringHelper(this) .add("type", type.getName()) + .add("referentialReferenceSetRequestName", referentialReferenceSetRequestName) + .add("dataReferenceSetRequestName", dataReferenceSetRequestName) .toString(); } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository observe. See http://git.codelutin.com/observe.git commit 37347bc6d1a671f4934152fefd768e200a93fe16 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Nov 19 11:09:19 2015 +0100 Fix NPE --- .../fr/ird/observe/services/service/ReferenceSetServiceTopia.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferenceSetServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferenceSetServiceTopia.java index aae7d5b..a017b15 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferenceSetServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferenceSetServiceTopia.java @@ -72,7 +72,9 @@ public class ReferenceSetServiceTopia extends ObserveServiceTopia implements Ref Date lastUpdateDate = lastUpdateDates.get(name); ObserveReferenceSet<ReferentialDto, ObserveReferentialReference> referenceSet = loadReferentialReferenceSet(definition, lastUpdateDate); - resultBuilder.addKey(name, referenceSet); + if (referenceSet != null) { + resultBuilder.addKey(name, referenceSet); + } } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository observe. See http://git.codelutin.com/observe.git commit 215eb149dd1487f157b0eaa8b7409d3a637361dc Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Nov 19 11:09:48 2015 +0100 Mise en place du cache de réferentiels et intégration dans l'application swing --- .../fr/ird/observe/db/ObserveReferentialCache.java | 117 +++++++++++++++------ .../fr/ird/observe/db/ObserveSwingDataSource.java | 41 ++++++++ 2 files changed, 128 insertions(+), 30 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveReferentialCache.java b/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveReferentialCache.java index 0a7c8b3..559b4c0 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveReferentialCache.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveReferentialCache.java @@ -1,9 +1,18 @@ package fr.ird.observe.db; +import com.google.common.collect.ImmutableMap; import fr.ird.observe.services.dto.ReferenceSetDto; -import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.reference.ObserveReferenceSet; +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 org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import java.io.Closeable; +import java.util.Date; import java.util.LinkedHashMap; import java.util.Map; @@ -14,43 +23,91 @@ import java.util.Map; */ public class ObserveReferentialCache implements Closeable { - private final Map<ObserveReferentialCacheKey<?>, ReferenceSetDto> cache; + /** Logger. */ + private static final Log log = LogFactory.getLog(ObserveReferentialCache.class); + + private final Map<ObserveReferenceSetRequestKeyDefinition<?>, ReferenceSetDto<?>> cache; public ObserveReferentialCache() { this.cache = new LinkedHashMap<>(); } - public <D extends ReferentialDto> ReferenceSetDto<D> getReferenceSet(ObserveSwingDataSource dataSource, Class<D> type, String optionalContext) { + /** + * Pour récupérer les dates de dernières mises à jour des ensembles de références utiliées par la requète. + * + * @param requestName le nom de la requète + * @return le dictionnaire des dates de dernières mises à jour pour chaque ensemble de référentiels + */ + public ImmutableMap<String, Date> getLastUpdateDates(String requestName) { + + ObserveReferenceSetRequestDefinition requestDefinition = ObserveReferenceSetRequestDefinitions.get(requestName); + + ImmutableMap.Builder<String, Date> builder = ImmutableMap.builder(); + + for (ObserveReferenceSetRequestKeyDefinition requestKeyDefinition : requestDefinition.getKeys()) { + + ReferenceSetDto<?> referenceSetDto = cache.get(requestKeyDefinition); + if (referenceSetDto != null) { + Date lastUpdate = referenceSetDto.getLastUpdate(); + builder.put(requestKeyDefinition.getName(), lastUpdate); + } + + } + + return builder.build(); - ObserveReferentialCacheKey<D> referentialCacheKey = ObserveReferentialCacheKey.of(type, optionalContext); - ReferenceSetDto<D> result = getReferenceSet0(dataSource, referentialCacheKey); - return result; } - protected <D extends ReferentialDto> ReferenceSetDto<D> getReferenceSet0(ObserveSwingDataSource dataSource, ObserveReferentialCacheKey<D> key) { - - ReferenceSetDto<D> result=null; -// if (cache.containsKey(key)) { -// result = cache.get(key); -// -// Date lastUpdate = result.getLastUpdate(); -// -// ReferenceSetService referentialService = dataSource.newService(ReferenceSetService.class); -// ReferenceSetDto<D> update = referentialService.getReferentialReferenceSetIfModify(key.getType(), key.getContext().orNull(), lastUpdate); -// if (update != null) { -// result = update; -// cache.remove(key); -// cache.put(key, update); -// } -// -// } else { -// -// ReferentialService referentialService = dataSource.newService(ReferenceSetService.class); -// result = referentialService.getReferentialReferenceSet(key.getType(), key.getContext().orNull()); -// cache.put(key, result); -// -// } - return result; + /** + * Pour récupérer les ensembles de référentiels à partir du résultat d'une requète. + * + * Le cache sera mis à jour si nécessaire avec les données entrantes. + * + * @param referenceSetResult le résultat de la requète de demande d'ensemble de référentiels + * @return le dictionnaire des ensembles de référentiels complêt + */ + public ImmutableMap<String, ReferenceSetDto<?>> loadReferenceSets(ObserveReferenceSetResult<ObserveReferentialReference> referenceSetResult) { + + ObserveReferenceSetRequestDefinition requestDefinition = ObserveReferenceSetRequestDefinitions.get(referenceSetResult.getRequestName()); + + ImmutableMap.Builder<String, ReferenceSetDto<?>> builder = ImmutableMap.builder(); + + // Les référentiels mis à jour via la requète + ImmutableMap<String, ObserveReferenceSet<?, ObserveReferentialReference>> referenceSets = referenceSetResult.getReferenceSets(); + + for (ObserveReferenceSetRequestKeyDefinition requestKeyDefinition : requestDefinition.getKeys()) { + + ReferenceSetDto<?> referenceSetDto; + + String requestKeyDefinitionName = requestKeyDefinition.getName(); + ObserveReferenceSet<?, ObserveReferentialReference> referenceSet = referenceSets.get(requestKeyDefinitionName); + + if (referenceSet != null) { + + // on met à jour le cache avec les données entrantes + referenceSetDto = referenceSet.toReferenceSetDto(requestKeyDefinitionName); + cache.put(requestKeyDefinition, referenceSetDto); + + if (log.isInfoEnabled()) { + log.info("Update cache entry for " + requestKeyDefinition); + } + + } else { + + // on récupère du cache, rien n'a changé pour cette entrée + referenceSetDto = cache.get(requestKeyDefinition); + + if (log.isInfoEnabled()) { + log.info("Get cache entry for " + requestKeyDefinition); + } + + } + + builder.put(requestKeyDefinitionName, referenceSetDto); + + } + + return builder.build(); } 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 b6a486d..a5c57ed 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 @@ -2,6 +2,8 @@ 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; @@ -19,13 +21,19 @@ import fr.ird.observe.services.configuration.ObserveDataSourceConnection; import fr.ird.observe.services.configuration.ObserveDataSourceInformation; import fr.ird.observe.services.dto.DataSourceCreateConfigurationDto; import fr.ird.observe.services.dto.DataSourceCreateWithNoReferentialImportException; +import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.IncompatibleDataSourceCreateConfigurationException; 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.ObserveReferenceSetRequest; +import fr.ird.observe.services.dto.reference.ObserveReferenceSetResult; +import fr.ird.observe.services.dto.reference.ObserveReferentialReference; import fr.ird.observe.services.service.BabModelVersionException; import fr.ird.observe.services.service.DataSourceService; import fr.ird.observe.services.service.DatabaseConnexionNotAuthorizedException; import fr.ird.observe.services.service.DatabaseNotFoundException; +import fr.ird.observe.services.service.ReferenceSetService; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.jdesktop.beans.AbstractSerializableBean; @@ -35,6 +43,9 @@ 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; import java.util.Set; @@ -54,11 +65,14 @@ public class ObserveSwingDataSource extends AbstractSerializableBean implements protected final ObserveDataSourceConfiguration configuration; + protected final ObserveReferentialCache referentialCache; + protected ObserveDataSourceConnection connection; public ObserveSwingDataSource(ObserveDataSourceConfiguration configuration) { this.configuration = configuration; this.listenerList = new EventListenerList(); + this.referentialCache = new ObserveReferentialCache(); } public ObserveDataSourceConfiguration getConfiguration() { @@ -160,6 +174,8 @@ public class ObserveSwingDataSource extends AbstractSerializableBean implements fireNewMessage(t("observe.storage.message.closing", getLabel())); fireClosing(); + referentialCache.close(); + DataSourceService dataSourceService = newService(DataSourceService.class); dataSourceService.close(); @@ -178,6 +194,8 @@ public class ObserveSwingDataSource extends AbstractSerializableBean implements fireNewMessage(t("observe.storage.message.destroying", getLabel())); fireClosing(); + referentialCache.close(); + DataSourceService dataSourceService = newService(DataSourceService.class); dataSourceService.destroy(); @@ -246,6 +264,29 @@ public class ObserveSwingDataSource extends AbstractSerializableBean implements } + public ImmutableMap<String, ReferenceSetDto<?>> loadReferentialReferenceSets(FormDto<?> formDto) { + + ReferenceSetService referenceSetService = newService(ReferenceSetService.class); + + String requestName = formDto.getReferentialReferenceSetRequestName(); + + ImmutableMap<String, Date> lastUpdateDates = referentialCache.getLastUpdateDates(requestName); + + ObserveReferenceSetRequest request = new ObserveReferenceSetRequest(); + request.setRequestName(requestName); + request.setLastUpdateDates(lastUpdateDates); + + ObserveReferenceSetResult<ObserveReferentialReference> referenceSetResult = referenceSetService.loadReferentialReferenceSets(request); + + ImmutableMap<String, ReferenceSetDto<?>> referenceSets = referentialCache.loadReferenceSets(referenceSetResult); + + LinkedHashSet<ReferenceSetDto<?>> values = Sets.newLinkedHashSet(referenceSets.values()); + formDto.setLabels((Collection) values); + + return referenceSets; + + } + public boolean isOpen() { return connection != null; } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository observe. See http://git.codelutin.com/observe.git commit 3f1d9071e19046c9e89280a04fd8e191a28a1a2c Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Nov 19 11:10:11 2015 +0100 Utilisation du système de requète sur l'écran TripSeine --- .../fr/ird/observe/ui/content/open/impl/seine/TripSeineUIHandler.java | 4 +++- .../fr/ird/observe/services/service/seine/TripSeineServiceTopia.java | 4 ++++ 2 files changed, 7 insertions(+), 1 deletion(-) 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 7bfff7f..9b89832 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 @@ -22,9 +22,9 @@ package fr.ird.observe.ui.content.open.impl.seine; import fr.ird.observe.ObserveSwingApplicationContext; +import fr.ird.observe.configuration.ObserveSwingApplicationConfig; import fr.ird.observe.db.DataContext; import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.configuration.ObserveSwingApplicationConfig; import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.TripMapDto; import fr.ird.observe.services.dto.result.SaveResultDto; @@ -194,6 +194,8 @@ public class TripSeineUIHandler extends ContentOpenableUIHandler<TripSeineDto> { } + getDataSource().loadReferentialReferenceSets(formDto); + getModel().setFormDto(formDto); TripSeineDtos.copyTripSeineDto(formDto.getForm(), bean); diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineServiceTopia.java index 607b7d5..5ffad59 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineServiceTopia.java @@ -35,6 +35,7 @@ import fr.ird.observe.services.dto.ReferenceSetDto; import fr.ird.observe.services.dto.ReferenceSetDtos; import fr.ird.observe.services.dto.TripMapDto; import fr.ird.observe.services.dto.TripMapPointDto; +import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.result.SaveResultDtos; @@ -134,6 +135,7 @@ public class TripSeineServiceTopia extends ObserveServiceTopia implements TripSe TripSeine tripSeine = loadEntity(TripSeineDto.class, TripSeine.class, tripSeineId); FormDto<TripSeineDto> form = entityToReadFormDto(TripSeineDto.class, TripSeine.class, tripSeine); + form.setReferentialReferenceSetRequestName(ObserveReferenceSetRequestDefinitions.TRIP_SEINE_FORM.name()); return form; } @@ -158,6 +160,7 @@ public class TripSeineServiceTopia extends ObserveServiceTopia implements TripSe TripSeine tripSeine = loadEntity(TripSeineDto.class, TripSeine.class, tripSeineId); FormDto<TripSeineDto> form = entityToEditFormDto(TripSeineDto.class, TripSeine.class, tripSeine); + form.setReferentialReferenceSetRequestName(ObserveReferenceSetRequestDefinitions.TRIP_SEINE_FORM.name()); TripSeineDto tripSeineDto = form.getForm(); @@ -185,6 +188,7 @@ public class TripSeineServiceTopia extends ObserveServiceTopia implements TripSe tripSeine.setProgram(program); FormDto<TripSeineDto> form = entityToEditFormDto(TripSeineDto.class, TripSeine.class, tripSeine); + form.setReferentialReferenceSetRequestName(ObserveReferenceSetRequestDefinitions.TRIP_SEINE_FORM.name()); return form; } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository observe. See http://git.codelutin.com/observe.git commit f86dd9b19c9b6f246b5dee5801413d26352c6eb9 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@list.forge.codelutin.com>.
participants (1)
-
codelutin.com scm