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

Keyboard Shortcuts

Thread View

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

Observe-commits

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

January 2021

  • 1 participants
  • 117 discussions
[Git][ultreiaio/ird-observe][develop] 4 commits: fix tag value by adding a basic space after tag value section
by Tony CHEMIT 27 Jan '21

27 Jan '21
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: 96b19535 by Tony Chemit at 2021-01-27T11:54:24+01:00 fix tag value by adding a basic space after tag value section - - - - - 0c798c03 by Tony Chemit at 2021-01-27T11:55:03+01:00 remove bad tag value usage - - - - - 26b984f7 by Tony Chemit at 2021-01-27T11:55:28+01:00 add tag values in toolkit store (and remove unused one) - - - - - 035bef8f by Tony Chemit at 2021-01-27T11:56:42+01:00 * introduce tag values extractor and use it on dto model * need now to remove any tag value from models files - - - - - 26 changed files: - + models/dto-definition/.mvn/models-dto - models/dto-definition/pom.xml - models/dto-definition/src/main/models/Observe-01-referential-common.model - models/dto-definition/src/main/models/Observe-30-data-ll-observation.model - + models/dto-definition/src/main/models/Observe/dto/attribute/mayNotNull.properties - + models/dto-definition/src/main/models/Observe/dto/attribute/notNull.properties - + models/dto-definition/src/main/models/Observe/dto/attribute/ordered.properties - + models/dto-definition/src/main/models/Observe/dto/attribute/positiveNumber.properties - + models/dto-definition/src/main/models/Observe/dto/attribute/strictlyPositiveNumber.properties - + models/dto-definition/src/main/models/Observe/dto/attribute/unique.properties - + models/dto-definition/src/main/models/Observe/dto/class/comparator.properties - + models/dto-definition/src/main/models/Observe/dto/class/constants.properties - + models/dto-definition/src/main/models/Observe/dto/class/form.properties - + models/dto-definition/src/main/models/Observe/dto/class/mainDto.properties - + models/dto-definition/src/main/models/Observe/dto/class/navigationEntryPoint.properties - + models/dto-definition/src/main/models/Observe/dto/class/navigationParent.properties - + models/dto-definition/src/main/models/Observe/dto/class/references.properties - + models/dto-definition/src/main/models/Observe/dto/class/skip.properties - + models/dto-definition/src/main/models/Observe/dto/tagValues.list - models/persistence/src/main/models/Observe-25-data-ps-common.model - toolkit/templates/src/main/java/fr/ird/observe/toolkit/templates/DtoMetaTransformer.java - + toolkit/templates/src/main/java/fr/ird/observe/toolkit/templates/ExtractTagValues.java - + toolkit/templates/src/main/java/fr/ird/observe/toolkit/templates/LoadTagValues.java - toolkit/templates/src/main/java/fr/ird/observe/toolkit/templates/ObserveTagValues.java - toolkit/templates/src/main/java/fr/ird/observe/toolkit/templates/dto/BusinessProjectTransformer.java - toolkit/templates/src/main/java/fr/ird/observe/toolkit/templates/dto/NavigationModelHelper.java Changes: ===================================== models/dto-definition/.mvn/models-dto ===================================== ===================================== models/dto-definition/pom.xml ===================================== @@ -33,6 +33,12 @@ <name>ObServe Models :: Dto definition</name> <description>ObServe Models Dto definition module</description> + <properties> + <eugene.templates>fr.ird.observe.toolkit.templates.ExtractTagValues</eugene.templates> + <eugene.defaultPackage>fr.ird.observe.dto</eugene.defaultPackage> + <eugene.useI18n>false</eugene.useI18n> + </properties> + <build> <resources> ===================================== models/dto-definition/src/main/models/Observe-01-referential-common.model ===================================== @@ -94,7 +94,7 @@ dataEntryOperator + {*:1} boolean dataSource + {*:1} boolean country {*:0..1} referential.common.CountryReference | notNull -referential.common.Program > referential.I18nReferential >> WithStartEndDate | references=code,label,uri,gearType,gearTypePrefix,tripCount,startDate,endDate NavigationEntryPoint +referential.common.Program > referential.I18nReferential >> WithStartEndDate | references=code,label,uri,gearType,gearTypePrefix,tripCount,startDate,endDate navigationEntryPoint nonTargetObservation + {*:1} int targetDiscardsObservation + {*:1} int samplesObservation + {*:1} int ===================================== models/dto-definition/src/main/models/Observe-30-data-ll-observation.model ===================================== @@ -172,7 +172,7 @@ settingShape {*:1} referential.ll.common.SettingShapeReference lineType {*:0..1} referential.ll.common.LineTypeReference lightsticksType {*:0..1} referential.ll.common.LightsticksTypeReference lightsticksColor {*:0..1} referential.ll.common.LightsticksColorReference -otherSets {*} data.ll.observation.SetStub | mainDto=skip +otherSets {*} data.ll.observation.SetStub data.ll.observation.SetCatch > data.Container >> data.ll.observation.LonglinePositionContainerAware catches {*} data.ll.observation.Catch | ordered ===================================== models/dto-definition/src/main/models/Observe/dto/attribute/mayNotNull.properties ===================================== @@ -0,0 +1,60 @@ +data.ll.common.Trip.attribute.captain=true +data.ll.common.Trip.attribute.departureHarbour=true +data.ll.common.Trip.attribute.landingHarbour=true +data.ll.common.Trip.attribute.species=true +data.ll.common.TripGearUseFeatures.attribute.gearUseFeatures=true +data.ll.landing.Landing.attribute.processingCompany=true +data.ll.logbook.Activity.attribute.endTimeStamp=true +data.ll.logbook.Activity.attribute.fpaZone=true +data.ll.logbook.Activity.attribute.latitude=true +data.ll.logbook.Activity.attribute.longitude=true +data.ll.logbook.Activity.attribute.quadrant=true +data.ll.logbook.Activity.attribute.relatedObservedActivity=true +data.ll.logbook.Activity.attribute.seaSurfaceTemperature=true +data.ll.logbook.Set.attribute.basketsPerSectionCount=true +data.ll.logbook.Set.attribute.branchlinesPerBasketCount=true +data.ll.logbook.Set.attribute.haulingBreaks=true +data.ll.logbook.Set.attribute.lightsticksPerBasketCount=true +data.ll.observation.Activity.attribute.fpaZone=true +data.ll.observation.Activity.attribute.seaSurfaceTemperature=true +data.ll.observation.Branchline.attribute.topType=true +data.ll.observation.Branchline.attribute.tracelineType=true +data.ll.observation.Encounter.attribute.count=true +data.ll.observation.Encounter.attribute.distance=true +data.ll.observation.Encounter.attribute.species=true +data.ll.observation.SensorUsed.attribute.sensorSerialNo=true +data.ll.observation.Set.attribute.haulingBreaks=true +data.ps.common.Trip.attribute.captain=true +data.ps.common.Trip.attribute.dataEntryOperator=true +data.ps.common.Trip.attribute.landingHarbour=true +data.ps.common.TripGearUseFeatures.attribute.gearUseFeatures=true +data.ps.observation.Activity.attribute.observedSystemDistance=true +data.ps.observation.Activity.attribute.seaSurfaceTemperature=true +data.ps.observation.Activity.attribute.surroundingActivity=true +data.ps.observation.Activity.attribute.wind=true +data.ps.observation.NonTargetLength.attribute.speciesFate=true +data.ps.observation.Set.attribute.currentDirection=true +data.ps.observation.TransmittingBuoy.attribute.code=true +referential.Referential.attribute.uri=true +referential.common.FpaZone.attribute.endDate=true +referential.common.FpaZone.attribute.startDate=true +referential.common.Harbour.attribute.latitude=true +referential.common.Harbour.attribute.locode=true +referential.common.Harbour.attribute.longitude=true +referential.common.Harbour.attribute.quadrant=true +referential.common.LengthFormulaSupport.attribute.endDate=true +referential.common.LengthFormulaSupport.attribute.startDate=true +referential.common.Organism.attribute.description=true +referential.common.Program.attribute.endDate=true +referential.common.Program.attribute.startDate=true +referential.common.ShipOwner.attribute.endDate=true +referential.common.ShipOwner.attribute.startDate=true +referential.common.Species.attribute.faoCode=true +referential.common.Species.attribute.ocean=true +referential.common.Species.attribute.wormsId=true +referential.common.SpeciesList.attribute.species=true +referential.common.Vessel.attribute.changeDate=true +referential.ps.common.ObjectMaterial.attribute.legacyCode=true +referential.ps.common.ObjectMaterial.attribute.objectMaterialType=true +referential.ps.common.ObjectMaterial.attribute.parent=true +referential.ps.common.ObjectMaterial.attribute.standardCode=true ===================================== models/dto-definition/src/main/models/Observe/dto/attribute/notNull.properties ===================================== @@ -0,0 +1,155 @@ +data.ContainerChildWithProportion.attribute.proportion=true +data.ll.common.GearUseFeatures.attribute.gear=true +data.ll.common.GearUseFeatures.attribute.number=true +data.ll.common.Trip.attribute.endDate=true +data.ll.common.Trip.attribute.ocean=true +data.ll.common.Trip.attribute.startDate=true +data.ll.common.Trip.attribute.tripType=true +data.ll.common.Trip.attribute.vessel=true +data.ll.landing.Landing.attribute.harbour=true +data.ll.landing.LandingPart.attribute.species=true +data.ll.landing.LandingPart.attribute.weight=true +data.ll.logbook.Activity.attribute.startTimeStamp=true +data.ll.logbook.Activity.attribute.vesselActivity=true +data.ll.logbook.ActivitySample.attribute.timeStamp=true +data.ll.logbook.BaitsComposition.attribute.baitType=true +data.ll.logbook.BranchlinesComposition.attribute.length=true +data.ll.logbook.BranchlinesComposition.attribute.topType=true +data.ll.logbook.BranchlinesComposition.attribute.tracelineType=true +data.ll.logbook.Catch.attribute.catchFate=true +data.ll.logbook.Catch.attribute.species=true +data.ll.logbook.FloatlinesComposition.attribute.length=true +data.ll.logbook.FloatlinesComposition.attribute.lineType=true +data.ll.logbook.HooksComposition.attribute.hookType=true +data.ll.logbook.Sample.attribute.timeStamp=true +data.ll.logbook.SamplePart.attribute.count=true +data.ll.logbook.SamplePart.attribute.species=true +data.ll.logbook.Set.attribute.haulingEndTimeStamp=true +data.ll.logbook.Set.attribute.haulingStartTimeStamp=true +data.ll.logbook.Set.attribute.settingEndTimeStamp=true +data.ll.logbook.Set.attribute.settingStartLatitude=true +data.ll.logbook.Set.attribute.settingStartLongitude=true +data.ll.logbook.Set.attribute.settingStartQuadrant=true +data.ll.logbook.Set.attribute.settingStartTimeStamp=true +data.ll.logbook.Set.attribute.totalSectionsCount=true +data.ll.observation.Activity.attribute.latitude=true +data.ll.observation.Activity.attribute.longitude=true +data.ll.observation.Activity.attribute.quadrant=true +data.ll.observation.Activity.attribute.vesselActivity=true +data.ll.observation.BaitsComposition.attribute.baitType=true +data.ll.observation.Basket.attribute.settingIdentifier=true +data.ll.observation.Branchline.attribute.settingIdentifier=true +data.ll.observation.BranchlinesComposition.attribute.length=true +data.ll.observation.BranchlinesComposition.attribute.topType=true +data.ll.observation.BranchlinesComposition.attribute.tracelineType=true +data.ll.observation.Catch.attribute.catchFate=true +data.ll.observation.Catch.attribute.species=true +data.ll.observation.Encounter.attribute.encounterType=true +data.ll.observation.FloatlinesComposition.attribute.length=true +data.ll.observation.FloatlinesComposition.attribute.lineType=true +data.ll.observation.HooksComposition.attribute.hookType=true +data.ll.observation.Section.attribute.settingIdentifier=true +data.ll.observation.SensorUsed.attribute.sensorType=true +data.ll.observation.Set.attribute.basketsPerSectionCount=true +data.ll.observation.Set.attribute.branchlinesPerBasketCount=true +data.ll.observation.Set.attribute.haulingDirectionSameAsSetting=true +data.ll.observation.Set.attribute.haulingEndLatitude=true +data.ll.observation.Set.attribute.haulingEndLongitude=true +data.ll.observation.Set.attribute.haulingEndQuadrant=true +data.ll.observation.Set.attribute.haulingEndTimeStamp=true +data.ll.observation.Set.attribute.haulingStartLatitude=true +data.ll.observation.Set.attribute.haulingStartLongitude=true +data.ll.observation.Set.attribute.haulingStartQuadrant=true +data.ll.observation.Set.attribute.haulingStartTimeStamp=true +data.ll.observation.Set.attribute.settingEndLatitude=true +data.ll.observation.Set.attribute.settingEndLongitude=true +data.ll.observation.Set.attribute.settingEndQuadrant=true +data.ll.observation.Set.attribute.settingEndTimeStamp=true +data.ll.observation.Set.attribute.settingStartLatitude=true +data.ll.observation.Set.attribute.settingStartLongitude=true +data.ll.observation.Set.attribute.settingStartQuadrant=true +data.ll.observation.Set.attribute.settingStartTimeStamp=true +data.ll.observation.Set.attribute.settingVesselSpeed=true +data.ll.observation.Set.attribute.totalSectionsCount=true +data.ps.common.GearUseFeatures.attribute.gear=true +data.ps.common.GearUseFeatures.attribute.number=true +data.ps.common.Trip.attribute.departureHarbour=true +data.ps.common.Trip.attribute.endDate=true +data.ps.common.Trip.attribute.observer=true +data.ps.common.Trip.attribute.ocean=true +data.ps.common.Trip.attribute.startDate=true +data.ps.common.Trip.attribute.vessel=true +data.ps.observation.Activity.attribute.latitude=true +data.ps.observation.Activity.attribute.longitude=true +data.ps.observation.Activity.attribute.observedSystem=true +data.ps.observation.Activity.attribute.quadrant=true +data.ps.observation.Activity.attribute.time=true +data.ps.observation.Activity.attribute.vesselActivity=true +data.ps.observation.DiscardedTargetCatch.attribute.catchWeight=true +data.ps.observation.DiscardedTargetCatch.attribute.species=true +data.ps.observation.DiscardedTargetCatch.attribute.weightCategory=true +data.ps.observation.FloatingObject.attribute.objectOperation=true +data.ps.observation.KeptTargetCatch.attribute.catchWeight=true +data.ps.observation.KeptTargetCatch.attribute.species=true +data.ps.observation.KeptTargetCatch.attribute.weightCategory=true +data.ps.observation.NonTargetCatch.attribute.species=true +data.ps.observation.NonTargetCatch.attribute.speciesFate=true +data.ps.observation.NonTargetCatchRelease.attribute.count=true +data.ps.observation.NonTargetCatchRelease.attribute.sex=true +data.ps.observation.NonTargetCatchRelease.attribute.species=true +data.ps.observation.NonTargetCatchRelease.attribute.speciesGroupReleaseMode=true +data.ps.observation.NonTargetCatchRelease.attribute.status=true +data.ps.observation.NonTargetLength.attribute.count=true +data.ps.observation.NonTargetLength.attribute.sex=true +data.ps.observation.NonTargetLength.attribute.sizeMeasureType=true +data.ps.observation.NonTargetLength.attribute.species=true +data.ps.observation.ObjectObservedSpecies.attribute.count=true +data.ps.observation.ObjectObservedSpecies.attribute.species=true +data.ps.observation.ObjectObservedSpecies.attribute.speciesStatus=true +data.ps.observation.ObjectSchoolEstimate.attribute.species=true +data.ps.observation.ObjectSchoolEstimate.attribute.totalWeight=true +data.ps.observation.Route.attribute.date=true +data.ps.observation.SchoolEstimate.attribute.species=true +data.ps.observation.TargetLength.attribute.count=true +data.ps.observation.TargetLength.attribute.sizeMeasureType=true +data.ps.observation.TargetLength.attribute.species=true +data.ps.observation.TransmittingBuoy.attribute.transmittingBuoyOperation=true +data.ps.observation.TransmittingBuoy.attribute.transmittingBuoyType=true +referential.I18nReferential.attribute.label1=true +referential.I18nReferential.attribute.label2=true +referential.I18nReferential.attribute.label3=true +referential.common.Country.attribute.iso2Code=true +referential.common.Country.attribute.iso3Code=true +referential.common.Harbour.attribute.country=true +referential.common.LengthFormulaSupport.attribute.coefficients=true +referential.common.LengthFormulaSupport.attribute.ocean=true +referential.common.LengthFormulaSupport.attribute.sex=true +referential.common.LengthFormulaSupport.attribute.species=true +referential.common.LengthLengthParameter.attribute.inputOutputFormula=true +referential.common.LengthLengthParameter.attribute.inputSizeMeasureType=true +referential.common.LengthLengthParameter.attribute.outputInputFormula=true +referential.common.LengthLengthParameter.attribute.outputSizeMeasureType=true +referential.common.LengthWeightParameter.attribute.lengthWeightFormula=true +referential.common.LengthWeightParameter.attribute.sizeMeasureType=true +referential.common.LengthWeightParameter.attribute.weightLengthFormula=true +referential.common.Organism.attribute.country=true +referential.common.Person.attribute.country=true +referential.common.Person.attribute.firstName=true +referential.common.Person.attribute.lastName=true +referential.common.Program.attribute.gearType=true +referential.common.Program.attribute.organism=true +referential.common.ShipOwner.attribute.label=true +referential.common.Species.attribute.scientificLabel=true +referential.common.Species.attribute.speciesGroup=true +referential.common.Vessel.attribute.flagCountry=true +referential.common.Vessel.attribute.fleetCountry=true +referential.common.Vessel.attribute.vesselSizeCategory=true +referential.common.Vessel.attribute.vesselType=true +referential.common.VesselSizeCategory.attribute.capacityLabel=true +referential.common.VesselSizeCategory.attribute.gaugeLabel=true +referential.common.Wind.attribute.speedRange=true +referential.common.Wind.attribute.waveHeight=true +referential.ll.observation.SensorBrand.attribute.brandName=true +referential.ps.common.ObjectOperation.attribute.whenArriving=true +referential.ps.common.ObjectOperation.attribute.whenLeaving=true +referential.ps.observation.WeightCategory.attribute.species=true ===================================== models/dto-definition/src/main/models/Observe/dto/attribute/ordered.properties ===================================== @@ -0,0 +1,27 @@ +data.TripMap.attribute.points=true +data.ll.common.GearUseFeatures.attribute.gearUseFeaturesMeasurement=true +data.ll.common.Trip.attribute.activityObs=true +data.ll.common.TripGearUseFeatures.attribute.gearUseFeatures=true +data.ll.logbook.ActivitySample.attribute.samplePart=true +data.ll.logbook.Sample.attribute.samplePart=true +data.ll.logbook.SetCatch.attribute.catches=true +data.ll.observation.Basket.attribute.branchline=true +data.ll.observation.Section.attribute.basket=true +data.ll.observation.SetCatch.attribute.catches=true +data.ll.observation.SetDetailComposition.attribute.section=true +data.ps.common.GearUseFeatures.attribute.gearUseFeaturesMeasurement=true +data.ps.common.Trip.attribute.route=true +data.ps.common.TripGearUseFeatures.attribute.gearUseFeatures=true +data.ps.observation.DiscardedTargetSample.attribute.targetLength=true +data.ps.observation.KeptTargetSample.attribute.targetLength=true +data.ps.observation.NonTargetSample.attribute.nonTargetLength=true +data.ps.observation.Route.attribute.activity=true +data.ps.observation.SetDiscardedTargetCatch.attribute.targetCatch=true +data.ps.observation.SetKeptTargetCatch.attribute.targetCatch=true +data.ps.observation.SetNonTargetCatch.attribute.nonTargetCatch=true +data.ps.observation.SetNonTargetCatchRelease.attribute.nonTargetCatchRelease=true +data.ps.observation.TargetSample.attribute.targetLength=true +referential.common.Gear.attribute.gearCharacteristic=true +referential.common.Species.attribute.ocean=true +referential.common.SpeciesGroup.attribute.speciesGroupReleaseMode=true +referential.common.SpeciesList.attribute.species=true ===================================== models/dto-definition/src/main/models/Observe/dto/attribute/positiveNumber.properties ===================================== @@ -0,0 +1,118 @@ +data.ContainerChildWithProportion.attribute.proportion=true +data.ll.common.GearUseFeatures.attribute.number=true +data.ll.logbook.Activity.attribute.currentDirection=true +data.ll.logbook.Activity.attribute.currentSpeed=true +data.ll.logbook.Activity.attribute.windDirection=true +data.ll.logbook.BaitsComposition.attribute.individualSize=true +data.ll.logbook.BaitsComposition.attribute.individualWeight=true +data.ll.logbook.BranchlinesComposition.attribute.length=true +data.ll.logbook.BranchlinesComposition.attribute.tracelineLength=true +data.ll.logbook.Catch.attribute.beatDiameter=true +data.ll.logbook.Catch.attribute.count=true +data.ll.logbook.Catch.attribute.countDepredated=true +data.ll.logbook.Catch.attribute.totalWeight=true +data.ll.logbook.FloatlinesComposition.attribute.length=true +data.ll.logbook.HooksComposition.attribute.hookOffset=true +data.ll.logbook.SamplePart.attribute.count=true +data.ll.logbook.SamplePart.attribute.length=true +data.ll.logbook.SamplePart.attribute.weight=true +data.ll.logbook.Set.attribute.basketLineLength=true +data.ll.logbook.Set.attribute.basketsPerSectionCount=true +data.ll.logbook.Set.attribute.branchlinesPerBasketCount=true +data.ll.logbook.Set.attribute.lengthBetweenBranchlines=true +data.ll.logbook.Set.attribute.lightsticksPerBasketCount=true +data.ll.logbook.Set.attribute.maxDepthTargeted=true +data.ll.logbook.Set.attribute.number=true +data.ll.logbook.Set.attribute.shooterSpeed=true +data.ll.logbook.Set.attribute.snapWeight=true +data.ll.logbook.Set.attribute.swivelWeight=true +data.ll.logbook.Set.attribute.timeBetweenHooks=true +data.ll.logbook.Set.attribute.totalBasketsCount=true +data.ll.logbook.Set.attribute.totalHooksCount=true +data.ll.logbook.Set.attribute.totalLightsticksCount=true +data.ll.logbook.Set.attribute.totalLineLength=true +data.ll.logbook.Set.attribute.totalSectionsCount=true +data.ll.observation.BaitsComposition.attribute.individualSize=true +data.ll.observation.BaitsComposition.attribute.individualWeight=true +data.ll.observation.Basket.attribute.floatline1Length=true +data.ll.observation.Basket.attribute.floatline2Length=true +data.ll.observation.Basket.attribute.haulingIdentifier=true +data.ll.observation.Basket.attribute.settingIdentifier=true +data.ll.observation.Branchline.attribute.branchlineLength=true +data.ll.observation.Branchline.attribute.haulingIdentifier=true +data.ll.observation.Branchline.attribute.hookOffset=true +data.ll.observation.Branchline.attribute.settingIdentifier=true +data.ll.observation.Branchline.attribute.snapWeight=true +data.ll.observation.Branchline.attribute.swivelWeight=true +data.ll.observation.Branchline.attribute.timeSinceContact=true +data.ll.observation.Branchline.attribute.tracelineLength=true +data.ll.observation.BranchlinesComposition.attribute.length=true +data.ll.observation.BranchlinesComposition.attribute.tracelineLength=true +data.ll.observation.Catch.attribute.beatDiameter=true +data.ll.observation.Catch.attribute.count=true +data.ll.observation.Catch.attribute.gonadeWeight=true +data.ll.observation.Catch.attribute.totalWeight=true +data.ll.observation.Encounter.attribute.count=true +data.ll.observation.Encounter.attribute.distance=true +data.ll.observation.FloatlinesComposition.attribute.length=true +data.ll.observation.HooksComposition.attribute.hookOffset=true +data.ll.observation.Section.attribute.haulingIdentifier=true +data.ll.observation.Section.attribute.settingIdentifier=true +data.ll.observation.Set.attribute.branchlinesPerBasketCount=true +data.ll.observation.Set.attribute.haulingBreaks=true +data.ll.observation.Set.attribute.maxDepthTargeted=true +data.ll.observation.Set.attribute.number=true +data.ll.observation.Set.attribute.shooterSpeed=true +data.ll.observation.Set.attribute.snapWeight=true +data.ll.observation.Set.attribute.swivelWeight=true +data.ll.observation.Set.attribute.timeBetweenHooks=true +data.ll.observation.Set.attribute.totalBasketsCount=true +data.ll.observation.Set.attribute.totalHooksCount=true +data.ll.observation.Set.attribute.totalSectionsCount=true +data.ll.observation.SetDetailComposition.attribute.basketsPerSectionCount=true +data.ll.observation.SetDetailComposition.attribute.branchlinesPerBasketCount=true +data.ll.observation.SetDetailComposition.attribute.totalSectionsCount=true +data.ll.observation.SizeMeasure.attribute.size=true +data.ll.observation.Tdr.attribute.fishingEndDepth=true +data.ll.observation.Tdr.attribute.fishingStartDepth=true +data.ll.observation.Tdr.attribute.floatline1Length=true +data.ll.observation.Tdr.attribute.floatline2Length=true +data.ll.observation.Tdr.attribute.maxFishingDepth=true +data.ll.observation.Tdr.attribute.meanDeploymentDepth=true +data.ll.observation.Tdr.attribute.meanFishingDepth=true +data.ll.observation.Tdr.attribute.medianDeploymentDepth=true +data.ll.observation.Tdr.attribute.medianFishingDepth=true +data.ll.observation.Tdr.attribute.minFishingDepth=true +data.ll.observation.WeightMeasure.attribute.weight=true +data.ps.common.GearUseFeatures.attribute.number=true +data.ps.observation.Activity.attribute.observedSystemDistance=true +data.ps.observation.Activity.attribute.vesselSpeed=true +data.ps.observation.DiscardedTargetCatch.attribute.catchWeight=true +data.ps.observation.KeptTargetCatch.attribute.catchWeight=true +data.ps.observation.NonTargetCatch.attribute.catchWeight=true +data.ps.observation.NonTargetCatch.attribute.meanLength=true +data.ps.observation.NonTargetCatch.attribute.meanWeight=true +data.ps.observation.NonTargetCatch.attribute.totalCount=true +data.ps.observation.NonTargetCatchRelease.attribute.length=true +data.ps.observation.NonTargetLength.attribute.count=true +data.ps.observation.NonTargetLength.attribute.length=true +data.ps.observation.NonTargetLength.attribute.weight=true +data.ps.observation.ObjectObservedSpecies.attribute.count=true +data.ps.observation.ObjectSchoolEstimate.attribute.totalWeight=true +data.ps.observation.Route.attribute.endLogValue=true +data.ps.observation.Route.attribute.startLogValue=true +data.ps.observation.SchoolEstimate.attribute.meanWeight=true +data.ps.observation.SchoolEstimate.attribute.totalWeight=true +data.ps.observation.Set.attribute.currentDirection=true +data.ps.observation.Set.attribute.currentMeasureDepth=true +data.ps.observation.Set.attribute.currentSpeed=true +data.ps.observation.Set.attribute.maxGearDepth=true +data.ps.observation.Set.attribute.schoolMeanDepth=true +data.ps.observation.Set.attribute.schoolThickness=true +data.ps.observation.Set.attribute.schoolTopDepth=true +data.ps.observation.TargetLength.attribute.count=true +data.ps.observation.TargetLength.attribute.length=true +data.ps.observation.TargetLength.attribute.weight=true +referential.common.Species.attribute.minLength=true +referential.common.Species.attribute.minWeight=true +referential.common.Vessel.attribute.yearService=true ===================================== models/dto-definition/src/main/models/Observe/dto/attribute/strictlyPositiveNumber.properties ===================================== @@ -0,0 +1,15 @@ +data.ll.logbook.Activity.attribute.seaSurfaceTemperature=true +data.ll.logbook.Catch.attribute.depredatedProportion=true +data.ll.observation.Activity.attribute.seaSurfaceTemperature=true +data.ll.observation.Set.attribute.basketsPerSectionCount=true +data.ps.observation.Activity.attribute.seaSurfaceTemperature=true +data.ps.observation.NonTargetCatchRelease.attribute.count=true +referential.common.LengthWeightParameter.attribute.meanLength=true +referential.common.LengthWeightParameter.attribute.meanWeight=true +referential.common.Species.attribute.maxLength=true +referential.common.Species.attribute.maxWeight=true +referential.common.Vessel.attribute.capacity=true +referential.common.Vessel.attribute.keelCode=true +referential.common.Vessel.attribute.length=true +referential.common.Vessel.attribute.power=true +referential.common.Vessel.attribute.searchMaximum=true ===================================== models/dto-definition/src/main/models/Observe/dto/attribute/unique.properties ===================================== @@ -0,0 +1,25 @@ +data.TripMap.attribute.points=true +data.ll.common.Trip.attribute.activityObs=true +data.ll.logbook.Activity.attribute.catchSpeciesIds=true +data.ll.logbook.SetStub.attribute.activity=true +data.ll.observation.Basket.attribute.branchline=true +data.ll.observation.Section.attribute.basket=true +data.ll.observation.SetDetailComposition.attribute.section=true +data.ll.observation.SetStub.attribute.activity=true +data.ps.common.Trip.attribute.route=true +data.ps.observation.Activity.attribute.nonTargetCatchSpecies=true +data.ps.observation.DiscardedTargetSample.attribute.availableSpeciesIds=true +data.ps.observation.KeptTargetSample.attribute.availableSpeciesIds=true +data.ps.observation.NonTargetSample.attribute.availableSpeciesFateIds=true +data.ps.observation.NonTargetSample.attribute.availableSpeciesIds=true +data.ps.observation.Route.attribute.activity=true +data.ps.observation.SetNonTargetCatchRelease.attribute.availableSpeciesIds=true +data.ps.observation.TargetSample.attribute.availableSpeciesIds=true +referential.Referential.attribute.code=true +referential.Referential.attribute.homeId=true +referential.Referential.attribute.uri=true +referential.common.Country.attribute.iso2Code=true +referential.common.Country.attribute.iso3Code=true +referential.common.Species.attribute.faoCode=true +referential.common.Species.attribute.scientificLabel=true +referential.common.Species.attribute.wormsId=true ===================================== models/dto-definition/src/main/models/Observe/dto/class/comparator.properties ===================================== @@ -0,0 +1,9 @@ +data.ll.common.Trip.class=startDate +data.ll.landing.Landing.class=startDate +data.ll.logbook.Activity.class=startTimeStamp +data.ll.logbook.ActivitySample.class=timeStamp +data.ll.logbook.Sample.class=timeStamp +data.ll.observation.Activity.class=timeStamp +data.ps.common.Trip.class=startDate +data.ps.observation.Activity.class=time +data.ps.observation.Route.class=date ===================================== models/dto-definition/src/main/models/Observe/dto/class/constants.properties ===================================== @@ -0,0 +1,2 @@ +data.ps.observation.Set.class=targetSampleCapture,endSetDate,endPursingDate,endSetTime,endPursingTime +data.ps.observation.TargetLength.class=totalWeight ===================================== models/dto-definition/src/main/models/Observe/dto/class/form.properties ===================================== @@ -0,0 +1,4 @@ +data.ps.observation.DiscardedTargetSample.class=TargetLength +data.ps.observation.KeptTargetSample.class=TargetLength +data.ps.observation.NonTargetSample.class=NonTargetLength +data.ps.observation.TargetSample.class=TargetLength ===================================== models/dto-definition/src/main/models/Observe/dto/class/mainDto.properties ===================================== @@ -0,0 +1,15 @@ +data.ll.logbook.ActivitySample.class=Sample +data.ll.logbook.ActivityStub.class=Activity +data.ll.logbook.SetGlobalComposition.class=Set +data.ll.logbook.SetStub.class=Set +data.ll.observation.ActivityStub.class=Activity +data.ll.observation.SetDetailComposition.class=Set +data.ll.observation.SetGlobalComposition.class=Set +data.ll.observation.SetStub.class=Set +data.ll.observation.TripActivityStub.class=Activity +data.ps.observation.ActivityStub.class=Activity +data.ps.observation.DiscardedTargetCatch.class=TargetCatch +data.ps.observation.DiscardedTargetSample.class=TargetSample +data.ps.observation.KeptTargetCatch.class=TargetCatch +data.ps.observation.KeptTargetSample.class=TargetSample +data.ps.observation.RouteStub.class=Route ===================================== models/dto-definition/src/main/models/Observe/dto/class/navigationEntryPoint.properties ===================================== @@ -0,0 +1 @@ +referential.common.Program.class=true ===================================== models/dto-definition/src/main/models/Observe/dto/class/navigationParent.properties ===================================== @@ -0,0 +1,13 @@ +data.ll.common.Trip.class=referential.common.Program +data.ll.landing.Landing.class=data.ll.common.Trip +data.ll.logbook.Activity.class=data.ll.common.Trip +data.ll.logbook.ActivitySample.class=data.ll.logbook.Activity +data.ll.logbook.Sample.class=data.ll.common.Trip +data.ll.logbook.Set.class=data.ll.logbook.Activity +data.ll.observation.Activity.class=data.ll.common.Trip +data.ll.observation.Set.class=data.ll.observation.Activity +data.ps.common.Trip.class=referential.common.Program +data.ps.observation.Activity.class=data.ps.observation.Route +data.ps.observation.FloatingObject.class=data.ps.observation.Activity +data.ps.observation.Route.class=data.ps.common.Trip +data.ps.observation.Set.class=data.ps.observation.Activity ===================================== models/dto-definition/src/main/models/Observe/dto/class/references.properties ===================================== @@ -0,0 +1,72 @@ +data.ll.common.GearUseFeatures.class=gearLabel,number,usedInTrip +data.ll.common.GearUseFeaturesMeasurement.class=measurementValue,gearCharacteristicLabel +data.ll.common.Trip.class=startDate,endDate,program,tripTypeId,observationsActivityCount,logbookActivityCount,landingSize,sampleSize,vessel,observerLabel,observationsAvailability,logbookAvailability +data.ll.landing.Landing.class=startDate,harbourLabel,vesselLabel +data.ll.landing.LandingPart.class=speciesLabel,categoryMin,categoryMax,weight +data.ll.logbook.Activity.class=startTimeStamp,endTimeStamp,latitude,longitude,vesselActivity,set,activitySample,relatedObservedActivity +data.ll.logbook.ActivitySample.class=timeStamp,latitude,longitude +data.ll.logbook.BaitsComposition.class=proportion,baitTypeLabel,baitSettingStatusLabel,individualSize,individualWeight +data.ll.logbook.BranchlinesComposition.class=proportion,topTypeLabel,tracelineTypeLabel,length +data.ll.logbook.Catch.class=homeId +data.ll.logbook.FloatlinesComposition.class=proportion,lineTypeLabel,length +data.ll.logbook.HooksComposition.class=proportion,hookTypeLabel,hookSizeLabel,hookOffset +data.ll.logbook.Sample.class=timeStamp,latitude,longitude +data.ll.logbook.SamplePart.class=speciesLabel,length,weight +data.ll.logbook.Set.class=homeId +data.ll.observation.Activity.class=timeStamp,latitude,longitude,vesselActivity,set +data.ll.observation.BaitsComposition.class=proportion,baitTypeLabel,baitSettingStatusLabel,individualSize,individualWeight +data.ll.observation.Basket.class=settingIdentifier,haulingIdentifier,parentId +data.ll.observation.Branchline.class=settingIdentifier,haulingIdentifier,parentId +data.ll.observation.BranchlinesComposition.class=proportion,topTypeLabel,tracelineTypeLabel,length +data.ll.observation.Catch.class=homeId +data.ll.observation.Encounter.class=encounterTypeLabel,speciesLabel +data.ll.observation.FloatlinesComposition.class=proportion,lineTypeLabel,length +data.ll.observation.HooksComposition.class=proportion,hookTypeLabel,hookSizeLabel,hookOffset +data.ll.observation.Section.class=settingIdentifier,haulingIdentifier,parentId +data.ll.observation.SensorUsed.class=sensorTypeLabel +data.ll.observation.Set.class=homeId +data.ll.observation.SizeMeasure.class=sizeMeasureTypeLabel,size +data.ll.observation.Tdr.class=homeId +data.ll.observation.WeightMeasure.class=weightMeasureTypeLabel,weight +data.ps.common.GearUseFeatures.class=gearLabel,number,usedInTrip +data.ps.common.GearUseFeaturesMeasurement.class=measurementValue,gearCharacteristicLabel +data.ps.common.Trip.class=startDate,endDate,program,routeSize,vessel,observerLabel +data.ps.observation.Activity.class=time,latitude,longitude,vesselActivity,set +data.ps.observation.DiscardedTargetCatch.class=speciesLabel,catchWeight +data.ps.observation.DiscardedTargetSample.class=homeId,nature,discarded +data.ps.observation.FloatingObject.class=objectOperationLabel +data.ps.observation.FloatingObjectPart.class=objectMaterialId,objectMaterialLabel,whenArriving,whenLeaving +data.ps.observation.KeptTargetCatch.class=speciesLabel,well,catchWeight +data.ps.observation.KeptTargetSample.class=homeId,nature,discarded +data.ps.observation.NonTargetCatch.class=speciesLabel,speciesFateLabel +data.ps.observation.NonTargetCatchRelease.class=speciesLabel,speciesGroupReleaseModeLabel,statusLabel,conformityLabel,releasingTimeLabel,length +data.ps.observation.NonTargetLength.class=speciesLabel,length,sexLabel +data.ps.observation.NonTargetSample.class=homeId +data.ps.observation.ObjectObservedSpecies.class=speciesLabel,speciesStatusLabel,count +data.ps.observation.ObjectSchoolEstimate.class=speciesLabel,totalWeight +data.ps.observation.Route.class=date,comment,activitySize +data.ps.observation.SchoolEstimate.class=speciesLabel,meanWeight,totalWeight +data.ps.observation.Set.class=comment,discardedTargetSampleEnabled,keptTargetSampleEnabled,nonTargetSampleEnabled,setNonTargetCatchReleaseEnabled +data.ps.observation.TargetCatch.class=well +data.ps.observation.TargetLength.class=speciesLabel,length,count +data.ps.observation.TargetSample.class=homeId,nature,discarded +data.ps.observation.TransmittingBuoy.class=code,comment,transmittingBuoyTypeLabel,transmittingBuoyOperationLabel +referential.common.Country.class=code,label,uri,iso2Code,iso3Code +referential.common.FpaZone.class=code,label,uri,startDate,endDate +referential.common.GearCharacteristic.class=code,label,uri,gearCharacteristicType,unit +referential.common.Harbour.class=code,label,uri,locode +referential.common.LengthLengthParameter.class=uri,oceanLabel,sexLabel,species,startDate,endDate,inputSizeMeasureType,outputSizeMeasureType,inputOutputFormula,outputInputFormula +referential.common.LengthWeightParameter.class=uri,oceanLabel,sexLabel,species,startDate,endDate,lengthWeightFormula,weightLengthFormula,sizeMeasureType +referential.common.Person.class=firstName,lastName,uri,captain,observer,dataEntryOperator,dataSource +referential.common.Program.class=code,label,uri,gearType,gearTypePrefix,tripCount,startDate,endDate +referential.common.ShipOwner.class=code,label,uri,startDate,endDate +referential.common.Species.class=label,uri,faoCode,scientificLabel,sizeMeasureTypeId,weightMeasureTypeId,speciesGroupId,wormsId,faoCode +referential.common.Vessel.class=code,label,uri,vesselTypeId +referential.common.VesselSizeCategory.class=code,uri,gaugeLabel,capacityLabel +referential.common.Wind.class=code,label,uri,speedRange +referential.ll.observation.SensorBrand.class=code,uri,brandName +referential.ps.common.ObjectMaterial.class=code,label,uri,parentId,objectMaterialTypeId,validation,biodegradable,nonEntangling +referential.ps.common.ObjectOperation.class=code,label,uri,whenArriving,whenLeaving +referential.ps.common.SpeciesFate.class=code,label,uri,discard +referential.ps.common.VesselActivity.class=code,label,uri,allowFad +referential.ps.observation.WeightCategory.class=code,label,uri,speciesId ===================================== models/dto-definition/src/main/models/Observe/dto/class/skip.properties ===================================== @@ -0,0 +1,14 @@ +Id.class=true +data.Container.class=true +data.ContainerChild.class=true +data.ContainerChildWithDataFile.class=true +data.ContainerChildWithProportion.class=true +data.Data.class=true +data.DataFile.class=true +data.Editable.class=true +data.Openable.class=true +data.Simple.class=true +data.TripMap.class=true +referential.I18nReferential.class=true +referential.Referential.class=true +result.SaveResult.class=true ===================================== models/dto-definition/src/main/models/Observe/dto/tagValues.list ===================================== @@ -0,0 +1,14 @@ +attribute.tagvalue.mayNotNull +attribute.tagvalue.notNull +attribute.tagvalue.ordered +attribute.tagvalue.positiveNumber +attribute.tagvalue.strictlyPositiveNumber +attribute.tagvalue.unique +class.tagvalue.comparator +class.tagvalue.constants +class.tagvalue.form +class.tagvalue.mainDto +class.tagvalue.navigationEntryPoint +class.tagvalue.navigationParent +class.tagvalue.references +class.tagvalue.skip ===================================== models/persistence/src/main/models/Observe-25-data-ps-common.model ===================================== @@ -1,4 +1,4 @@ -package fr.ird.observe.entities.data.ps.common| entity dbSchema=ps_common +package fr.ird.observe.entities.data.ps.common | entity dbSchema=ps_common data.ps.common.GearUseFeatures > data.DataEntity | entity comment + {*:1} String | length=8192 ===================================== toolkit/templates/src/main/java/fr/ird/observe/toolkit/templates/DtoMetaTransformer.java ===================================== @@ -24,6 +24,7 @@ package fr.ird.observe.toolkit.templates; import com.google.common.collect.ImmutableSet; import fr.ird.observe.dto.data.ContainerDto; +import io.ultreia.java4all.util.SortedProperties; import org.nuiton.eugene.AbstractMetaTransformer; import org.nuiton.eugene.EugeneCoreTagValues; import org.nuiton.eugene.LogProxy; @@ -31,6 +32,7 @@ import org.nuiton.eugene.Template; import org.nuiton.eugene.java.BeanTransformerContext; import org.nuiton.eugene.java.BeanTransformerTagValues; import org.nuiton.eugene.java.EugeneJavaTagValues; +import org.nuiton.eugene.models.extension.io.ModelExtensionReader; import org.nuiton.eugene.models.object.ObjectModel; import org.nuiton.eugene.models.object.ObjectModelAttribute; import org.nuiton.eugene.models.object.ObjectModelClass; @@ -40,14 +42,12 @@ import org.nuiton.eugene.models.object.xml.ObjectModelAttributeImpl; import java.io.BufferedWriter; import java.io.File; import java.io.IOException; -import java.nio.charset.StandardCharsets; +import java.nio.file.Files; import java.nio.file.Path; import java.util.Comparator; import java.util.LinkedList; import java.util.List; -import java.util.Map; import java.util.Objects; -import java.util.TreeMap; /** * Created on 24/01/2021. @@ -67,20 +67,38 @@ public abstract class DtoMetaTransformer extends AbstractMetaTransformer<ObjectM @Override protected boolean validateModel(ObjectModel model) { - - // Get all non abstract beans - BeanTransformerContext all = new BeanTransformerContext(model, new EugeneCoreTagValues(), new EugeneJavaTagValues(), new BeanTransformerTagValues(), false, false, t -> true, getLog()); + String packageName = getConfiguration().getProperty(PROP_DEFAULT_PACKAGE); BeanTransformerContext allWithAbstract = new BeanTransformerContext(model, new EugeneCoreTagValues(), new EugeneJavaTagValues(), new BeanTransformerTagValues(), true, false, t -> true, getLog()); + BeanTransformerContext all = new BeanTransformerContext(model, new EugeneCoreTagValues(), new EugeneJavaTagValues(), new BeanTransformerTagValues(), false, false, t -> true, getLog()); ObserveTagValues observeTagValues = new ObserveTagValues(); - String packageName = getConfiguration().getProperty(PROP_DEFAULT_PACKAGE); + loadTagValues(model, packageName); + augmentsReferences(allWithAbstract, packageName); augmentsTagValues(model, all, observeTagValues); consolidateModel(model, all, observeTagValues, getLog()); augmentsTagValuesFinal(model, all, observeTagValues); - extractTagValues(allWithAbstract); return true; } + private void loadTagValues(ObjectModel model, String packageName) { + try { + + SortedProperties loadedTagValues = new LoadTagValues(model, packageName, getClassLoader()).load("dto"); + getLog().info(String.format("Load %d tag-value(s) for classifier dto.", loadedTagValues.size())); + + Path outputDirectory = getConfiguration().getProperty(PROP_OUTPUT_DIRECTORY, File.class).toPath().getParent().getParent(); + Path tmpFile = outputDirectory.resolve("all-dto-tagValues-" + System.nanoTime() + ".properties"); + try (BufferedWriter writer = Files.newBufferedWriter(tmpFile)) { + loadedTagValues.store(writer, String.format("Generated by %s", getClass().getName())); + } + ModelExtensionReader<ObjectModel> reader = new ModelExtensionReader<>(isVerbose(), true, model); + reader.read(tmpFile.toFile()); + + } catch (Exception e) { + throw new IllegalStateException("Can't load tag-values", e); + } + } + protected void augmentsTagValues(ObjectModel model, BeanTransformerContext all, ObserveTagValues observeTagValues) { for (ObjectModelClass aClass : all.selectedClasses) { ObjectModelPackage aPackage = model.getPackage(aClass.getPackageName()); @@ -222,27 +240,4 @@ public abstract class DtoMetaTransformer extends AbstractMetaTransformer<ObjectM return candidates.get(0); } - - protected void extractTagValues(BeanTransformerContext all) { - Map<String, String> p = new TreeMap<>(); - for (ObjectModelClass aClass : all.selectedClasses) { - String tagValuePrefix = aClass.getQualifiedName() + ".attribute."; - for (ObjectModelAttribute attribute : aClass.getAttributes()) { - String tagValuePrefix2 = tagValuePrefix + attribute.getName() + ".tagValue."; - Map<String, String> tagValues1 = attribute.getTagValues(); - tagValues1.forEach((k, v) -> p.put(tagValuePrefix2 + k, v)); - } - } - File outputDir = getConfiguration().getProperty(PROP_OUTPUT_DIRECTORY, File.class); - Path path = outputDir.toPath().resolve("extracted-tagValues.properties"); - getLog().info(String.format("Generated all tag-values in %s", path)); - try (BufferedWriter writer = java.nio.file.Files.newBufferedWriter(path, StandardCharsets.UTF_8)) { - for (String k : p.keySet()) { - writer.write(String.format("%s=%s", k, p.get(k))); - writer.newLine(); - } - } catch (IOException e) { - throw new IllegalStateException("Can't write " + path, e); - } - } } ===================================== toolkit/templates/src/main/java/fr/ird/observe/toolkit/templates/ExtractTagValues.java ===================================== @@ -0,0 +1,184 @@ +package fr.ird.observe.toolkit.templates; + +/*- + * #%L + * ObServe Toolkit :: Templates + * %% + * Copyright (C) 2008 - 2021 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.ArrayListMultimap; +import com.google.common.collect.ImmutableList; +import io.ultreia.java4all.util.SortedProperties; +import org.codehaus.plexus.component.annotations.Component; +import org.nuiton.eugene.Template; +import org.nuiton.eugene.java.EugeneJavaTagValues; +import org.nuiton.eugene.models.object.ObjectModel; +import org.nuiton.eugene.models.object.ObjectModelAttribute; +import org.nuiton.eugene.models.object.ObjectModelClass; +import org.nuiton.eugene.models.object.ObjectModelGenerator; +import org.nuiton.eugene.models.object.ObjectModelType; +import org.nuiton.topia.templates.TopiaTemplateHelperExtension; + +import java.io.BufferedReader; +import java.io.File; +import java.io.IOException; +import java.io.Writer; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.TreeMap; +import java.util.function.Predicate; + +/** + * Created on 26/01/2021. + * + * @author Tony Chemit - dev(a)tchemit.fr + * @since 8.0.5 + */ +@Component(role = Template.class, hint = "fr.ird.observe.toolkit.templates.ExtractTagValues") +public class ExtractTagValues extends ObjectModelGenerator { + + private String filePrefix; + private Path outputFile; + private Path resourceDirectory; + private Map<String, String> currentTagValues; + + @Override + public void applyTemplate(ObjectModel model, File destDir) throws IOException { + String packageName = getConfiguration().getProperty(PROP_DEFAULT_PACKAGE); + EugeneJavaTagValues javaTemplatesTagValues = new EugeneJavaTagValues(); + resourceDirectory = getConfiguration().getProperty(PROP_RESOURCE_DIRECTORY, File.class).toPath().getParent().resolve("models").resolve(model.getName()); + Predicate<ObjectModelClass> acceptClass; + if (packageName.contains(".dto")) { + resourceDirectory = resourceDirectory.resolve("dto"); + acceptClass = c -> javaTemplatesTagValues.isBean(c, model.getPackage(c)); + } else if (packageName.contains(".entities")) { + resourceDirectory = resourceDirectory.resolve("persistence"); + TopiaTemplateHelperExtension templateHelper = new TopiaTemplateHelperExtension(model); + acceptClass = templateHelper::isEntity; + } else { + throw new IllegalStateException("Can't manage packageName: " + packageName); + } + getLog().info(String.format("Will generate tag values at %s", resourceDirectory)); + + ImmutableList<ObjectModelClass> classes = model.getClasses().stream().filter(acceptClass).collect(ImmutableList.toImmutableList()); + getLog().info(String.format("Will extract tag values from %d class(es).", classes.size())); + ArrayListMultimap<String, String> tagValueKeysByTagValue = ArrayListMultimap.create(); + Map<String, String> allTagValues = new TreeMap<>(); + try { + extractTagValues(classes, tagValueKeysByTagValue, allTagValues); + } catch (IOException e) { + throw new IllegalStateException("Can't extract tag values", e); + } + Set<String> tagValuesKeys = tagValueKeysByTagValue.keySet(); + int beginIndex = packageName.length() + 1; + List<String> tagValueList = new ArrayList<>(tagValuesKeys.size()); + for (String tagValuesKey : tagValuesKeys) { + filePrefix = tagValuesKey; + int keySuffix = filePrefix.substring(filePrefix.indexOf("-")).length(); + + currentTagValues = new TreeMap<>(); + for (String k : tagValueKeysByTagValue.get(filePrefix)) { + String value = allTagValues.get(k); + String key = k.substring(beginIndex); + key = key.substring(0, key.length() - keySuffix); + currentTagValues.put(key, value); + } + String index = tagValuesKey.replace("-tagValue", "").replaceAll("-", "."); + tagValueList.add(index); + super.applyTemplate(model, destDir); + } + + Path indexPath = resourceDirectory.resolve(LoadTagValues.TAG_VALUES_LIST_FILENAME); + getLog().info(String.format("Will generate tag values list (%d) at %s", tagValueList.size(), indexPath)); + tagValueList.sort(String::compareTo); + Files.write(indexPath, tagValueList); + } + + @Override + protected void generateFromElement(Object element, File destDir, String filename, ObjectModelType type) { + if (ObjectModelType.OBJECT_MODEL != type) { + // only generate on model + return; + } + super.generateFromElement(element, destDir, filename, type); + } + + @Override + public void generateFromModel(Writer output, ObjectModel input) throws IOException { + + // get existing tag values + SortedProperties existingProperties = new SortedProperties(); + if (Files.exists(outputFile)) { + try (BufferedReader reader = Files.newBufferedReader(outputFile)) { + existingProperties.load(reader); + } + getLog().info(String.format("%s - Load existing %d element(s) from %s.", filePrefix, existingProperties.size(), outputFile)); + } + // add new one from model + int size = existingProperties.stringPropertyNames().size(); + currentTagValues.forEach(existingProperties::setProperty); + + getLog().info(String.format("%s - Load from model new %d element(s).", filePrefix, existingProperties.stringPropertyNames().size() - size)); + getLog().info(String.format("%s - Store %d element(s) to %s.", filePrefix, existingProperties.size(), outputFile)); + // store all tag values + for (String key : existingProperties.stringPropertyNames()) { + String value = existingProperties.getProperty(key); + output.write(String.format("%s=%s", key, value)); + output.write('\n'); + } + } + + @Override + public String getFilenameForModel(ObjectModel model) { + return filePrefix + ".properties"; + } + + @Override + protected File getDestinationFile(File destDir, String filename) { + int endIndex = filename.indexOf("-"); + outputFile = resourceDirectory.resolve(filename.substring(0, endIndex)).resolve(filename.substring(filename.lastIndexOf("-") + 1)); + return outputFile.toFile(); + } + + private void extractTagValues(ImmutableList<ObjectModelClass> all, ArrayListMultimap<String, String> tagValueKeysByTagValue, Map<String, String> allTagValues) throws IOException { + String classPrefix = "class-tagvalue-"; + String attributePrefix = "attribute-tagvalue-"; + for (ObjectModelClass aClass : all) { + String classTagValuePrefix = aClass.getQualifiedName() + ".class.tagValue."; + aClass.getTagValues().forEach((k, v) -> { + String key = classTagValuePrefix + k; + allTagValues.put(key, v); + tagValueKeysByTagValue.put(classPrefix + k, key); + }); + String attributeTagValuePrefix = aClass.getQualifiedName() + ".attribute."; + for (ObjectModelAttribute attribute : aClass.getAttributes()) { + String attributeTagValuePrefix2 = attributeTagValuePrefix + attribute.getName() + ".tagValue."; + attribute.getTagValues().forEach((k, v) -> { + String key = attributeTagValuePrefix2 + k; + allTagValues.put(key, v); + tagValueKeysByTagValue.put(attributePrefix + k, key); + }); + } + } + } +} ===================================== toolkit/templates/src/main/java/fr/ird/observe/toolkit/templates/LoadTagValues.java ===================================== @@ -0,0 +1,83 @@ +package fr.ird.observe.toolkit.templates; + +import io.ultreia.java4all.util.SortedProperties; +import org.apache.commons.io.IOUtils; +import org.nuiton.eugene.models.object.ObjectModel; + +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.net.URL; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Properties; +import java.util.TreeMap; + +/** + * To load tag-values from new layout. + * <p> + * Created on 27/01/2021. + * + * @author Tony Chemit - dev(a)tchemit.fr + * @see ExtractTagValues + * @since 8.0.5 + */ +public class LoadTagValues { + + public static final String TAG_VALUES_LIST_FILENAME = "tagValues.list"; + private final ObjectModel model; + private final String packageName; + private final ClassLoader classLoader; + + public LoadTagValues(ObjectModel model, String packageName, ClassLoader classLoader) { + this.model = Objects.requireNonNull(model); + this.packageName = Objects.requireNonNull(packageName); + this.classLoader = Objects.requireNonNull(classLoader); + } + + public SortedProperties load(String classifier) throws IOException { + String resourcesPath = "models/" + model.getName() + "/" + Objects.requireNonNull(classifier) + "/"; + + List<String> tagValueList = loadTagValuesList(resourcesPath, classLoader); + SortedProperties result = new SortedProperties(); + for (String tagValue : tagValueList) { + int i = tagValue.indexOf("."); + String type = tagValue.substring(0, i); + String suffix = tagValue.substring(i+1); + String tagValueName = suffix.replace("tagvalue.", ""); + String tagValuePath = resourcesPath + type + "/" + tagValueName + ".properties"; + switch (type) { + case "attribute": + case "class": + URL tagValueURL = classLoader.getResource(tagValuePath); + Map<String, String> tagValueProperties = loadTagValuesFile(packageName, suffix, Objects.requireNonNull(tagValueURL)); + result.putAll(tagValueProperties); + break; + default: + throw new IllegalStateException(String.format("Can't manage tag value type: %s", type)); + } + } + return result; + } + + private List<String> loadTagValuesList(String resourcesPath, ClassLoader classLoader) throws IOException { + String tagValuesListPath = resourcesPath + TAG_VALUES_LIST_FILENAME; + URL resource = Objects.requireNonNull(classLoader.getResource(tagValuesListPath)); + try (InputStreamReader reader = new InputStreamReader(resource.openStream())) { + return IOUtils.readLines(reader); + } + } + + private Map<String, String> loadTagValuesFile(String packageName, String suffix, URL resource) throws IOException { + Properties incoming = new Properties(); + try (InputStream inputStream = resource.openStream()) { + incoming.load(inputStream); + } + Map<String, String> result = new TreeMap<>(); + for (String key : incoming.stringPropertyNames()) { + result.put(packageName + "." + key + "."+suffix, incoming.getProperty(key)); + } + return result; + } +} ===================================== toolkit/templates/src/main/java/fr/ird/observe/toolkit/templates/ObserveTagValues.java ===================================== @@ -84,6 +84,21 @@ public class ObserveTagValues extends DefaultTagValueMetadatasProvider { return tagValue == null ? null : tagValue.trim(); } + public String getNavigationParentTagValue(ObjectModelClassifier classifier) { + String tagValue = TagValueUtil.findTagValue(Store.navigationParent, classifier); + return tagValue == null ? null : tagValue.trim(); + } +// +// public String getNavigationExtraParentTagValue(ObjectModelClassifier classifier) { +// String tagValue = TagValueUtil.findTagValue(Store.navigationExtraParent, classifier); +// return tagValue == null ? null : tagValue.trim(); +// } + + public String getNavigationEntryPointTagValue(ObjectModelClassifier classifier) { + String tagValue = TagValueUtil.findTagValue(Store.navigationEntryPoint, classifier); + return tagValue == null ? null : tagValue.trim(); + } + /** * Obtain the value of the {@link Store#comparator} tag value on the given classifier. * @@ -203,6 +218,12 @@ public class ObserveTagValues extends DefaultTagValueMetadatasProvider { mainDto("Pour qualifier le dto principal", String.class, null, ObjectModelClassifier.class), + navigationParent("Pour indiquer quelle est le parent dans la navigation", String.class, null, ObjectModelClassifier.class), + +// navigationExtraParent("Pour indiquer quelle est le parent dans la navigation", String.class, null, ObjectModelClassifier.class), + + navigationEntryPoint("Pour indiquer si la classe est un point d'entrée est le parent dans la navigation", String.class, null, ObjectModelClassifier.class), + comparator("Pour qualifier l'attribut de comparaison", String.class, null, ObjectModelClassifier.class), /** ===================================== toolkit/templates/src/main/java/fr/ird/observe/toolkit/templates/dto/BusinessProjectTransformer.java ===================================== @@ -161,15 +161,15 @@ public class BusinessProjectTransformer extends ObjectModelTransformerToJava imp navigationModelHelper.registerEditClassesCandidate(moduleName, subModuleName, input, input.getName()); navigationModelHelper.registerSelectClassesCandidate(moduleName, subModuleName, input, input.getName()); - String extraParent = input.getTagValue("navigationExtraParent"); - if (extraParent != null) { - String inputName = GeneratorUtil.getSimpleName(extraParent) + input.getName(); - navigationModelHelper.registerSelectClassesCandidate(moduleName, subModuleName, input, inputName); - } +// String extraParent = observeTagValues.getNavigationExtraParentTagValue(input); +// if (extraParent != null) { +// String inputName = GeneratorUtil.getSimpleName(extraParent) + input.getName(); +// navigationModelHelper.registerSelectClassesCandidate(moduleName, subModuleName, input, inputName); +// } } else if (superclasses.stream().anyMatch(s -> s.getName().equals("Editable"))) { navigationModelHelper.registerSelectClassesCandidate(moduleName, subModuleName, input, input.getName()); } else { - String navigationEntryPoint = input.getTagValue("NavigationEntryPoint"); + String navigationEntryPoint = observeTagValues.getNavigationEntryPointTagValue(input); if (navigationEntryPoint != null) { navigationModelHelper.registerSelectExtraClassesCandidate(moduleName, subModuleName, input); navigationModelHelper.registerEditExtraClassesCandidate(moduleName, subModuleName, input); ===================================== toolkit/templates/src/main/java/fr/ird/observe/toolkit/templates/dto/NavigationModelHelper.java ===================================== @@ -26,6 +26,7 @@ import com.google.common.collect.ArrayListMultimap; import com.google.common.collect.ImmutableMap; import com.google.common.collect.Maps; import fr.ird.observe.spi.ProjectPackagesDefinition; +import fr.ird.observe.toolkit.templates.ObserveTagValues; import org.apache.commons.lang3.mutable.MutableInt; import org.nuiton.eugene.GeneratorUtil; import org.nuiton.eugene.models.object.ObjectModelClass; @@ -123,11 +124,12 @@ public class NavigationModelHelper { */ public void init() { + ObserveTagValues tagValues = new ObserveTagValues(); Set<ObjectModelClass> editCandidates = new LinkedHashSet<>(editExtraClassesCandidates.keySet()); editCandidates.addAll(editClassesCandidates.keySet()); ImmutableMap<String, ObjectModelClass> editNameCandidates = Maps.uniqueIndex(editCandidates, ObjectModelClass::getQualifiedName); for (ObjectModelClass candidateClass : editClassesCandidates.keySet()) { - String dependencyClass = def.getDtoRootPackage() + "." + candidateClass.getTagValue("navigationParent"); + String dependencyClass = def.getDtoRootPackage() + "." + tagValues.getNavigationParentTagValue(candidateClass); ObjectModelClass parentClass = editNameCandidates.get(dependencyClass); if (parentClass != null) { String editNodeName = getEditNodeName(candidateClass); @@ -140,7 +142,7 @@ public class NavigationModelHelper { selectCandidates.addAll(selectClassesCandidates.keySet()); ImmutableMap<String, ObjectModelClass> selectNameCandidates = Maps.uniqueIndex(selectCandidates, ObjectModelClass::getQualifiedName); for (ObjectModelClass candidateClass : selectClassesCandidates.keySet()) { - String dependencyClass = def.getDtoRootPackage() + "." + candidateClass.getTagValue("navigationParent"); + String dependencyClass = def.getDtoRootPackage() + "." + tagValues.getNavigationParentTagValue(candidateClass); ObjectModelClass parentClass = selectNameCandidates.get(dependencyClass); if (parentClass != null) { String selectNodeName = getSelectNodeName(candidateClass); View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/44fc8be644857c15670c6446… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/44fc8be644857c15670c6446… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop] 2 commits: make observe tag values available in eugene :)
by Tony CHEMIT 25 Jan '21

25 Jan '21
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: e6807f21 by Tony Chemit at 2021-01-25T17:06:32+01:00 make observe tag values available in eugene :) - - - - - 44fc8be6 by Tony Chemit at 2021-01-25T17:39:25+01:00 introduce tag values extractor - - - - - 2 changed files: - toolkit/templates/src/main/java/fr/ird/observe/toolkit/templates/DtoMetaTransformer.java - toolkit/templates/src/main/java/fr/ird/observe/toolkit/templates/ObserveTagValues.java Changes: ===================================== toolkit/templates/src/main/java/fr/ird/observe/toolkit/templates/DtoMetaTransformer.java ===================================== @@ -37,12 +37,17 @@ import org.nuiton.eugene.models.object.ObjectModelClass; import org.nuiton.eugene.models.object.ObjectModelPackage; import org.nuiton.eugene.models.object.xml.ObjectModelAttributeImpl; +import java.io.BufferedWriter; import java.io.File; import java.io.IOException; +import java.nio.charset.StandardCharsets; +import java.nio.file.Path; import java.util.Comparator; import java.util.LinkedList; import java.util.List; +import java.util.Map; import java.util.Objects; +import java.util.TreeMap; /** * Created on 24/01/2021. @@ -72,6 +77,7 @@ public abstract class DtoMetaTransformer extends AbstractMetaTransformer<ObjectM augmentsTagValues(model, all, observeTagValues); consolidateModel(model, all, observeTagValues, getLog()); augmentsTagValuesFinal(model, all, observeTagValues); + extractTagValues(allWithAbstract); return true; } @@ -81,17 +87,18 @@ public abstract class DtoMetaTransformer extends AbstractMetaTransformer<ObjectM String mainDtoTagValue = observeTagValues.getMainDtoTagValue(aClass); if (observeTagValues.notSkip(mainDtoTagValue) != null) { String newValue = aPackage.getName() + "." + mainDtoTagValue + "Dto"; - getLog().info(String.format("Augments tag value %s.mainDto=%s", aClass.getQualifiedName(), newValue)); + getLog().debug(String.format("Augments tag value %s.mainDto=%s", aClass.getQualifiedName(), newValue)); aClass.getTagValues().put(ObserveTagValues.Store.mainDto.name(), newValue); } String formTagValue = observeTagValues.getFormTagValue(aClass, aPackage); if (observeTagValues.notSkip(formTagValue) != null && !Objects.equals("self", formTagValue)) { String newValue = aPackage.getName() + "." + formTagValue + "Dto"; - getLog().info(String.format("Augments tag value %s.form=%s", aClass.getQualifiedName(), newValue)); + getLog().debug(String.format("Augments tag value %s.form=%s", aClass.getQualifiedName(), newValue)); aClass.getTagValues().put(ObserveTagValues.Store.form.name(), newValue); } } } + protected void augmentsReferences(BeanTransformerContext all, String packageName) { for (ObjectModelClass aClass : all.selectedClasses) { for (ObjectModelAttribute attribute : aClass.getAttributes()) { @@ -99,9 +106,8 @@ public abstract class DtoMetaTransformer extends AbstractMetaTransformer<ObjectM if (!attributeType.startsWith(packageName) && attributeType.endsWith("Reference")) { // add full package String newValue = packageName + "." + attributeType; - getLog().info(String.format("Augments reference attribute value %s.%s=%s", aClass.getQualifiedName(),attribute.getName(), newValue)); - ((ObjectModelAttributeImpl)attribute).setType(newValue); - + getLog().debug(String.format("Augments reference attribute value %s.%s=%s", aClass.getQualifiedName(), attribute.getName(), newValue)); + ((ObjectModelAttributeImpl) attribute).setType(newValue); } } } @@ -113,13 +119,13 @@ public abstract class DtoMetaTransformer extends AbstractMetaTransformer<ObjectM String formTagValue = observeTagValues.getFormTagValue(aClass, aPackage); if (Objects.equals("self", formTagValue)) { String newValue = aClass.getQualifiedName() + "Dto"; - getLog().info(String.format("Augments tag value %s.form=%s", aClass.getQualifiedName(), newValue)); + getLog().debug(String.format("Augments tag value %s.form=%s", aClass.getQualifiedName(), newValue)); aClass.getTagValues().put(ObserveTagValues.Store.form.name(), newValue); } String mainDtoTagValue = observeTagValues.getMainDtoTagValue(aClass); if (mainDtoTagValue == null) { String newValue = aClass.getQualifiedName() + "Dto"; - getLog().info(String.format("Augments tag value %s.mainDto=%s", aClass.getQualifiedName(), newValue)); + getLog().debug(String.format("Augments tag value %s.mainDto=%s", aClass.getQualifiedName(), newValue)); aClass.getTagValues().put(ObserveTagValues.Store.mainDto.name(), newValue); } } @@ -136,12 +142,11 @@ public abstract class DtoMetaTransformer extends AbstractMetaTransformer<ObjectM String mainDtoTagValue = observeTagValues.getMainDtoTagValue(aClass); String formTagValue = observeTagValues.getFormTagValue(aClass, aPackage); if (mainDtoTagValue == null && (formTagValue == null || Objects.equals("self", formTagValue))) { - log.info(String.format("found ContainerDto without any tagValues, add convention tagValues: %s", aClass.getQualifiedName())); + log.debug(String.format("found ContainerDto without any tagValues, add convention tagValues: %s", aClass.getQualifiedName())); ObjectModelClass childType = guessChildType(all.selectedClasses, aClass); - log.info(String.format("add tag value %s.form=%s", aClass.getQualifiedName(), childType.getQualifiedName()) + "Dto"); + log.debug(String.format("add tag value %s.form=%s", aClass.getQualifiedName(), childType.getQualifiedName()) + "Dto"); ObjectModelClass mainType = guessMainType(all.selectedClasses, aClass, childType); - log.info(String.format("add tag value %s.mainDto=%s", aClass.getQualifiedName(), mainType.getQualifiedName()) + "Dto"); - + log.debug(String.format("add tag value %s.mainDto=%s", aClass.getQualifiedName(), mainType.getQualifiedName()) + "Dto"); aClass.getTagValues().put(ObserveTagValues.Store.form.name(), childType.getQualifiedName() + "Dto"); aClass.getTagValues().put(ObserveTagValues.Store.mainDto.name(), mainType.getQualifiedName() + "Dto"); } @@ -163,9 +168,7 @@ public abstract class DtoMetaTransformer extends AbstractMetaTransformer<ObjectM continue; } if (name.endsWith(selectedClass.getName())) { - if (candidates.isEmpty()) { - candidates.add(selectedClass); - } else { + if (!candidates.isEmpty()) { ObjectModelClass objectModelClass = candidates.get(0); if (selectedClass.getName().endsWith(objectModelClass.getName())) { candidates.remove(0); @@ -173,8 +176,8 @@ public abstract class DtoMetaTransformer extends AbstractMetaTransformer<ObjectM // not keeping this one continue; } - candidates.add(selectedClass); } + candidates.add(selectedClass); } } if (candidates.isEmpty()) { @@ -184,8 +187,8 @@ public abstract class DtoMetaTransformer extends AbstractMetaTransformer<ObjectM // only one candidate, found it! return candidates.get(0); } - candidates.sort(Comparator.comparing(ObjectModelClass::getQualifiedName, Comparator.comparingInt(String::length)).reversed()); // should take the biggest matching candidate ? + candidates.sort(Comparator.comparing(ObjectModelClass::getQualifiedName, Comparator.comparingInt(String::length)).reversed()); return candidates.get(0); } @@ -215,6 +218,31 @@ public abstract class DtoMetaTransformer extends AbstractMetaTransformer<ObjectM return candidates.get(0); } // should take the smallest matching candidate ? + candidates.sort(Comparator.comparing(ObjectModelClass::getQualifiedName, Comparator.comparingInt(String::length)).reversed()); return candidates.get(0); } + + + protected void extractTagValues(BeanTransformerContext all) { + Map<String, String> p = new TreeMap<>(); + for (ObjectModelClass aClass : all.selectedClasses) { + String tagValuePrefix = aClass.getQualifiedName() + ".attribute."; + for (ObjectModelAttribute attribute : aClass.getAttributes()) { + String tagValuePrefix2 = tagValuePrefix + attribute.getName() + ".tagValue."; + Map<String, String> tagValues1 = attribute.getTagValues(); + tagValues1.forEach((k, v) -> p.put(tagValuePrefix2 + k, v)); + } + } + File outputDir = getConfiguration().getProperty(PROP_OUTPUT_DIRECTORY, File.class); + Path path = outputDir.toPath().resolve("extracted-tagValues.properties"); + getLog().info(String.format("Generated all tag-values in %s", path)); + try (BufferedWriter writer = java.nio.file.Files.newBufferedWriter(path, StandardCharsets.UTF_8)) { + for (String k : p.keySet()) { + writer.write(String.format("%s=%s", k, p.get(k))); + writer.newLine(); + } + } catch (IOException e) { + throw new IllegalStateException("Can't write " + path, e); + } + } } ===================================== toolkit/templates/src/main/java/fr/ird/observe/toolkit/templates/ObserveTagValues.java ===================================== @@ -22,6 +22,7 @@ package fr.ird.observe.toolkit.templates; * #L% */ +import com.google.auto.service.AutoService; import com.google.common.collect.ImmutableSet; import org.codehaus.plexus.component.annotations.Component; import org.nuiton.eugene.models.extension.tagvalue.TagValueMetadata; @@ -45,6 +46,7 @@ import static io.ultreia.java4all.i18n.I18n.t; * @since 4.0 */ @Component(role = TagValueMetadatasProvider.class, hint = "observe") +(a)AutoService(TagValueMetadatasProvider.class) public class ObserveTagValues extends DefaultTagValueMetadatasProvider { public ObserveTagValues() { View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/0d7934bbffce9c899793579b… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/0d7934bbffce9c899793579b… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop] augments reference in dto model
by Tony CHEMIT 25 Jan '21

25 Jan '21
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: 0d7934bb by Tony Chemit at 2021-01-25T10:08:56+01:00 augments reference in dto model - - - - - 10 changed files: - models/dto-definition/src/main/models/Observe-01-referential-common.model - models/dto-definition/src/main/models/Observe-02-referential-ps-common.model - models/dto-definition/src/main/models/Observe-03-referential-ps-observation.model - models/dto-definition/src/main/models/Observe-20-data-ps-observation.model - models/dto-definition/src/main/models/Observe-25-data-ps.model - models/dto-definition/src/main/models/Observe-30-data-ll-observation.model - models/dto-definition/src/main/models/Observe-31-data-ll-logbook.model - models/dto-definition/src/main/models/Observe-32-data-ll-landing.model - models/dto-definition/src/main/models/Observe-35-data-ll.model - toolkit/templates/src/main/java/fr/ird/observe/toolkit/templates/DtoMetaTransformer.java Changes: ===================================== models/dto-definition/src/main/models/Observe-01-referential-common.model ===================================== @@ -28,9 +28,9 @@ startDate + {*:1} Date | mayNotNull endDate + {*:1} Date | mayNotNull coefficients + {*:1} String | notNull source + {*:1} String -species {*:1} fr.ird.observe.dto.referential.common.SpeciesReference | notNull -ocean {*:0..1} fr.ird.observe.dto.referential.common.OceanReference | notNull -sex {*:1} fr.ird.observe.dto.referential.common.SexReference | notNull +species {*:1} referential.common.SpeciesReference | notNull +ocean {*:0..1} referential.common.OceanReference | notNull +sex {*:1} referential.common.SexReference | notNull referential.common.Country > referential.I18nReferential | references=code,label,uri,iso2Code,iso3Code iso2Code + {*:1} String | notNull unique @@ -43,11 +43,11 @@ startDate + {*:1} Date | mayNotNull endDate + {*:1} Date | mayNotNull referential.common.Gear > referential.I18nReferential -gearCharacteristic {*:*} fr.ird.observe.dto.referential.common.GearCharacteristicReference | ordered +gearCharacteristic {*:*} referential.common.GearCharacteristicReference | ordered referential.common.GearCharacteristic > referential.I18nReferential | references=code,label,uri,gearCharacteristicType,unit unit + {*:1} String -gearCharacteristicType {*:1} fr.ird.observe.dto.referential.common.GearCharacteristicTypeReference +gearCharacteristicType {*:1} referential.common.GearCharacteristicTypeReference referential.common.GearCharacteristicType > referential.I18nReferential >> referential.common.GearCharacteristicTypeAware @@ -56,15 +56,15 @@ locode + {*:1} String | mayNotNull latitude + {*:1} Float | mayNotNull longitude + {*:1} Float | mayNotNull quadrant + {*:1} Integer | mayNotNull -country {*:0..1} fr.ird.observe.dto.referential.common.CountryReference | notNull +country {*:0..1} referential.common.CountryReference | notNull referential.common.LengthLengthParameter > referential.common.LengthFormulaSupport >> reference.ReferentialDtoReferenceWithNoCodeAware | references=uri,oceanLabel,sexLabel,species,startDate,endDate,inputSizeMeasureType,outputSizeMeasureType,inputOutputFormula,outputInputFormula inputOutputFormula + {*:1} String | notNull inputOutputFormulaValid + {*:1} boolean outputInputFormula + {*:1} String | notNull outputInputFormulaValid + {*:1} boolean -inputSizeMeasureType {*:1} fr.ird.observe.dto.referential.common.SizeMeasureTypeReference | notNull -outputSizeMeasureType {*:1} fr.ird.observe.dto.referential.common.SizeMeasureTypeReference | notNull +inputSizeMeasureType {*:1} referential.common.SizeMeasureTypeReference | notNull +outputSizeMeasureType {*:1} referential.common.SizeMeasureTypeReference | notNull referential.common.LengthWeightParameter > referential.common.LengthFormulaSupport >> reference.ReferentialDtoReferenceWithNoCodeAware | references=uri,oceanLabel,sexLabel,species,startDate,endDate,lengthWeightFormula,weightLengthFormula,sizeMeasureType lengthWeightFormula + {*:1} String | notNull @@ -73,7 +73,7 @@ meanLength + {*:1} Float | strictlyPositiveNumber meanWeight + {*:1} Float | strictlyPositiveNumber lengthWeightFormulaValid + {*:1} boolean weightLengthFormulaValid + {*:1} boolean -sizeMeasureType {*:0..1} fr.ird.observe.dto.referential.common.SizeMeasureTypeReference | notNull +sizeMeasureType {*:0..1} referential.common.SizeMeasureTypeReference | notNull referential.common.Ocean > referential.I18nReferential @@ -83,7 +83,7 @@ referential.common.WeightMeasureMethod > referential.I18nReferential referential.common.Organism > referential.I18nReferential description + {*:1} String | mayNotNull -country {*:1} fr.ird.observe.dto.referential.common.CountryReference | notNull +country {*:1} referential.common.CountryReference | notNull referential.common.Person > referential.Referential >> reference.ReferentialDtoReferenceWithNoCodeAware | references=firstName,lastName,uri,captain,observer,dataEntryOperator,dataSource lastName + {*:1} String | notNull @@ -92,7 +92,7 @@ observer + {*:1} boolean captain + {*:1} boolean dataEntryOperator + {*:1} boolean dataSource + {*:1} boolean -country {*:0..1} fr.ird.observe.dto.referential.common.CountryReference | notNull +country {*:0..1} referential.common.CountryReference | notNull referential.common.Program > referential.I18nReferential >> WithStartEndDate | references=code,label,uri,gearType,gearTypePrefix,tripCount,startDate,endDate NavigationEntryPoint nonTargetObservation + {*:1} int @@ -108,7 +108,7 @@ endDate + {*:1} Date | mayNotNull comment + {*:1} String tripCount + {*:1} int gearType {*:1} !fr.ird.observe.dto.referential.common.GearType | notNull -organism {*:1} fr.ird.observe.dto.referential.common.OrganismReference | notNull +organism {*:1} referential.common.OrganismReference | notNull gearTypePrefix + {*:1} String referential.common.Sex > referential.I18nReferential @@ -117,7 +117,7 @@ referential.common.ShipOwner > referential.Referential >> WithStartEndDate | ref label + {*:1} String | notNull startDate + {*:1} Date | mayNotNull endDate + {*:1} Date | mayNotNull -country {*:0..1} fr.ird.observe.dto.referential.common.CountryReference +country {*:0..1} referential.common.CountryReference referential.common.SizeMeasureType > referential.I18nReferential @@ -129,18 +129,18 @@ minLength + {*:1} Float | positiveNumber maxLength + {*:1} Float | strictlyPositiveNumber minWeight + {*:1} Float | positiveNumber maxWeight + {*:1} Float | strictlyPositiveNumber -ocean {*:*} fr.ird.observe.dto.referential.common.OceanReference | ordered mayNotNull -speciesGroup {*:1} fr.ird.observe.dto.referential.common.SpeciesGroupReference | notNull -sizeMeasureType {*:0..1} fr.ird.observe.dto.referential.common.SizeMeasureTypeReference -weightMeasureType {*:0..1} fr.ird.observe.dto.referential.common.WeightMeasureTypeReference +ocean {*:*} referential.common.OceanReference | ordered mayNotNull +speciesGroup {*:1} referential.common.SpeciesGroupReference | notNull +sizeMeasureType {*:0..1} referential.common.SizeMeasureTypeReference +weightMeasureType {*:0..1} referential.common.WeightMeasureTypeReference referential.common.SpeciesGroup > referential.I18nReferential -speciesGroupReleaseMode {*:*} fr.ird.observe.dto.referential.common.SpeciesGroupReleaseModeReference | ordered +speciesGroupReleaseMode {*:*} referential.common.SpeciesGroupReleaseModeReference | ordered referential.common.SpeciesGroupReleaseMode > referential.I18nReferential referential.common.SpeciesList > referential.I18nReferential -species {*:*} fr.ird.observe.dto.referential.common.SpeciesReference | ordered mayNotNull +species {*:*} referential.common.SpeciesReference | ordered mayNotNull referential.common.Vessel > referential.I18nReferential | references=code,label,uri,vesselTypeId keelCode + {*:1} Integer | strictlyPositiveNumber @@ -159,11 +159,11 @@ tuviId + {*:1} String imoId + {*:1} String radioCallSignId + {*:1} String lloydId + {*:1} String -fleetCountry {*:0..1} fr.ird.observe.dto.referential.common.CountryReference | notNull -flagCountry {*:0..1} fr.ird.observe.dto.referential.common.CountryReference | notNull -vesselType {*:0..1} fr.ird.observe.dto.referential.common.VesselTypeReference | notNull -vesselSizeCategory {*:0..1} fr.ird.observe.dto.referential.common.VesselSizeCategoryReference | notNull -shipOwner {*:0..1} fr.ird.observe.dto.referential.common.ShipOwnerReference +fleetCountry {*:0..1} referential.common.CountryReference | notNull +flagCountry {*:0..1} referential.common.CountryReference | notNull +vesselType {*:0..1} referential.common.VesselTypeReference | notNull +vesselSizeCategory {*:0..1} referential.common.VesselSizeCategoryReference | notNull +shipOwner {*:0..1} referential.common.ShipOwnerReference referential.common.VesselSizeCategory > referential.Referential | references=code,uri,gaugeLabel,capacityLabel capacityLabel + {*:1} String | notNull ===================================== models/dto-definition/src/main/models/Observe-02-referential-ps-common.model ===================================== @@ -9,8 +9,8 @@ biodegradable + {*:1} Boolean nonEntangling + {*:1} Boolean childrenMultiSelectable + {*:1} boolean childSelectionMandatory + {*:1} boolean -parent {*:0..1} fr.ird.observe.dto.referential.ps.common.ObjectMaterialReference | mayNotNull -objectMaterialType {*:1} fr.ird.observe.dto.referential.ps.common.ObjectMaterialTypeReference | mayNotNull +parent {*:0..1} referential.ps.common.ObjectMaterialReference | mayNotNull +objectMaterialType {*:1} referential.ps.common.ObjectMaterialTypeReference | mayNotNull validation + {*:1} String validationValid + {*:1} boolean ===================================== models/dto-definition/src/main/models/Observe-03-referential-ps-observation.model ===================================== @@ -9,7 +9,7 @@ referential.ps.observation.NonTargetCatchReleaseStatus > referential.I18nReferen referential.ps.observation.NonTargetCatchReleasingTime > referential.I18nReferential referential.ps.observation.ObservedSystem > referential.I18nReferential -schoolType + {*:1} fr.ird.observe.dto.referential.ps.common.SchoolTypeReference +schoolType + {*:1} referential.ps.common.SchoolTypeReference referential.ps.observation.ReasonForDiscard > referential.I18nReferential @@ -22,4 +22,4 @@ referential.ps.observation.SpeciesStatus > referential.I18nReferential referential.ps.observation.SurroundingActivity > referential.I18nReferential referential.ps.observation.WeightCategory > referential.I18nReferential >> reference.ReferentialDtoReferenceWithNoCodeAware | references=code,label,uri,speciesId -species {*:1} fr.ird.observe.dto.referential.common.SpeciesReference | notNull +species {*:1} referential.common.SpeciesReference | notNull ===================================== models/dto-definition/src/main/models/Observe-20-data-ps-observation.model ===================================== @@ -13,18 +13,18 @@ ersId + {*:1} String floatingObjectEmpty + {*:1} boolean observedSystemDistance + {*:1} Float | mayNotNull positiveNumber quadrant + {*:1} Integer | notNull -vesselActivity {*:1} fr.ird.observe.dto.referential.ps.common.VesselActivityReference | notNull -surroundingActivity {*:0..1} fr.ird.observe.dto.referential.ps.observation.SurroundingActivityReference | mayNotNull -wind {*:0..1} fr.ird.observe.dto.referential.common.WindReference | mayNotNull -detectionMode {*:0..1} fr.ird.observe.dto.referential.ps.observation.DetectionModeReference -reasonForNoFishing {*:0..1} fr.ird.observe.dto.referential.ps.observation.ReasonForNoFishingReference -previousFpaZone {*:0..1} fr.ird.observe.dto.referential.common.FpaZoneReference -currentFpaZone {*:0..1} fr.ird.observe.dto.referential.common.FpaZoneReference -nextFpaZone {*:0..1} fr.ird.observe.dto.referential.common.FpaZoneReference -dataQuality {*:0..1} fr.ird.observe.dto.referential.common.DataQualityReference -set {*:0..1} fr.ird.observe.dto.data.ps.observation.SetReference -observedSystem {*:*} fr.ird.observe.dto.referential.ps.observation.ObservedSystemReference | notNull -nonTargetCatchSpecies {*:*} fr.ird.observe.dto.referential.common.SpeciesReference | unique +vesselActivity {*:1} referential.ps.common.VesselActivityReference | notNull +surroundingActivity {*:0..1} referential.ps.observation.SurroundingActivityReference | mayNotNull +wind {*:0..1} referential.common.WindReference | mayNotNull +detectionMode {*:0..1} referential.ps.observation.DetectionModeReference +reasonForNoFishing {*:0..1} referential.ps.observation.ReasonForNoFishingReference +previousFpaZone {*:0..1} referential.common.FpaZoneReference +currentFpaZone {*:0..1} referential.common.FpaZoneReference +nextFpaZone {*:0..1} referential.common.FpaZoneReference +dataQuality {*:0..1} referential.common.DataQualityReference +set {*:0..1} data.ps.observation.SetReference +observedSystem {*:*} referential.ps.observation.ObservedSystemReference | notNull +nonTargetCatchSpecies {*:*} referential.common.SpeciesReference | unique data.ps.observation.ActivityStub > data.Data | mainDto=Activity time + {*:1} Date @@ -34,7 +34,7 @@ seaSurfaceTemperature + {*:1} Float activityEndOfSearching + {*:1} boolean data.ps.observation.FloatingObject > data.Editable | references=objectOperationLabel navigationParent=data.ps.observation.Activity -objectOperation {*:1} fr.ird.observe.dto.referential.ps.common.ObjectOperationReference | notNull +objectOperation {*:1} referential.ps.common.ObjectOperationReference | notNull supportVesselName + {*:1} String computedWhenArrivingBiodegradable + {*:1} !fr.ird.observe.dto.data.ps.DcpComputedValue computedWhenArrivingNonEntangling + {*:1} !fr.ird.observe.dto.data.ps.DcpComputedValue @@ -52,7 +52,7 @@ objectObservedSpecies {*} data.ps.observation.ObjectObservedSpecies data.ps.observation.FloatingObjectPart > data.Data | references=objectMaterialId,objectMaterialLabel,whenArriving,whenLeaving whenArriving + {*:1} String whenLeaving + {*:1} String -objectMaterial {*:1} fr.ird.observe.dto.referential.ps.common.ObjectMaterialReference +objectMaterial {*:1} referential.ps.common.ObjectMaterialReference data.ps.observation.FloatingObjectObjectSchoolEstimate > data.Container objectSchoolEstimate {*} data.ps.observation.ObjectSchoolEstimate @@ -70,24 +70,24 @@ totalCountComputedSource + {*:1} !fr.ird.observe.dto.data.ps.NonTargetCatchCompu hasSample + {*:1} boolean well + {*:1} String hasRelease + {*:1} boolean -reasonForDiscard {*:0..1} fr.ird.observe.dto.referential.ps.observation.ReasonForDiscardReference -speciesFate {*:0..1} fr.ird.observe.dto.referential.ps.common.SpeciesFateReference | notNull -species {*:1} fr.ird.observe.dto.referential.common.SpeciesReference | notNull -weightMeasureMethod {*:0..1} fr.ird.observe.dto.referential.common.WeightMeasureMethodReference -lengthMeasureMethod {*:0..1} fr.ird.observe.dto.referential.common.LengthMeasureMethodReference +reasonForDiscard {*:0..1} referential.ps.observation.ReasonForDiscardReference +speciesFate {*:0..1} referential.ps.common.SpeciesFateReference | notNull +species {*:1} referential.common.SpeciesReference | notNull +weightMeasureMethod {*:0..1} referential.common.WeightMeasureMethodReference +lengthMeasureMethod {*:0..1} referential.common.LengthMeasureMethodReference data.ps.observation.NonTargetCatchRelease > data.ContainerChild | references=speciesLabel,speciesGroupReleaseModeLabel,statusLabel,conformityLabel,releasingTimeLabel,length comment + {*:1} String length + {*:1} Float | positiveNumber count + {*:1} Integer | notNull strictlyPositiveNumber acquisitionMode + {*:1} int -status {*:1} !fr.ird.observe.dto.referential.ps.observation.NonTargetCatchReleaseStatusReference | notNull -species {*:1} fr.ird.observe.dto.referential.common.SpeciesReference | notNull -sex {*:1} fr.ird.observe.dto.referential.common.SexReference | notNull -speciesGroupReleaseMode {*:1} fr.ird.observe.dto.referential.common.SpeciesGroupReleaseModeReference | notNull -conformity {*:1} fr.ird.observe.dto.referential.ps.observation.NonTargetCatchReleaseConformityReference -releasingTime {*:1} fr.ird.observe.dto.referential.ps.observation.NonTargetCatchReleasingTimeReference -lengthMeasureMethod {*:0..1} fr.ird.observe.dto.referential.common.LengthMeasureMethodReference +status {*:1} referential.ps.observation.NonTargetCatchReleaseStatusReference | notNull +species {*:1} referential.common.SpeciesReference | notNull +sex {*:1} referential.common.SexReference | notNull +speciesGroupReleaseMode {*:1} referential.common.SpeciesGroupReleaseModeReference | notNull +conformity {*:1} referential.ps.observation.NonTargetCatchReleaseConformityReference +releasingTime {*:1} referential.ps.observation.NonTargetCatchReleasingTimeReference +lengthMeasureMethod {*:0..1} referential.common.LengthMeasureMethodReference data.ps.observation.NonTargetLength > data.ContainerChild | references=speciesLabel,length,sexLabel length + {*:1} Float | positiveNumber @@ -98,13 +98,13 @@ isWeightComputed + {*:1} boolean count + {*:1} Integer | notNull positiveNumber acquisitionMode + {*:1} int tagNumber + {*:1} String -species {*:1} fr.ird.observe.dto.referential.common.SpeciesReference | notNull -sex {*:1} fr.ird.observe.dto.referential.common.SexReference | notNull -speciesFate {*:0..1} fr.ird.observe.dto.referential.ps.common.SpeciesFateReference | mayNotNull -sizeMeasureType {*:0..1} fr.ird.observe.dto.referential.common.SizeMeasureTypeReference | notNull -weightMeasureType {*:0..1} fr.ird.observe.dto.referential.common.WeightMeasureTypeReference -weightMeasureMethod {*:0..1} fr.ird.observe.dto.referential.common.WeightMeasureMethodReference -lengthMeasureMethod {*:0..1} fr.ird.observe.dto.referential.common.LengthMeasureMethodReference +species {*:1} referential.common.SpeciesReference | notNull +sex {*:1} referential.common.SexReference | notNull +speciesFate {*:0..1} referential.ps.common.SpeciesFateReference | mayNotNull +sizeMeasureType {*:0..1} referential.common.SizeMeasureTypeReference | notNull +weightMeasureType {*:0..1} referential.common.WeightMeasureTypeReference +weightMeasureMethod {*:0..1} referential.common.WeightMeasureMethodReference +lengthMeasureMethod {*:0..1} referential.common.LengthMeasureMethodReference data.ps.observation.NonTargetSample > data.Container | form=NonTargetLength references=homeId nonTargetLength + {*} data.ps.observation.NonTargetLength | ordered @@ -113,13 +113,13 @@ availableSpeciesFateIds + {*} String | unique data.ps.observation.ObjectObservedSpecies > data.ContainerChild | references=speciesLabel,speciesStatusLabel,count count + {*:1} Integer | notNull positiveNumber -speciesStatus {*:1} fr.ird.observe.dto.referential.ps.observation.SpeciesStatusReference | notNull -species {*:1} fr.ird.observe.dto.referential.common.SpeciesReference | notNull +speciesStatus {*:1} referential.ps.observation.SpeciesStatusReference | notNull +species {*:1} referential.common.SpeciesReference | notNull data.ps.observation.ObjectSchoolEstimate > data.ContainerChild | references=speciesLabel,totalWeight totalWeight + {*:1} Integer | notNull positiveNumber -species {*:1} fr.ird.observe.dto.referential.common.SpeciesReference | notNull -weightMeasureMethod {*:0..1} fr.ird.observe.dto.referential.common.WeightMeasureMethodReference +species {*:1} referential.common.SpeciesReference | notNull +weightMeasureMethod {*:0..1} referential.common.WeightMeasureMethodReference data.ps.observation.Route > data.Openable | references=date,comment,activitySize comparator=date navigationParent=data.ps.common.Trip comment + {*:1} String @@ -137,8 +137,8 @@ endLogValue + {*:1} Float data.ps.observation.SchoolEstimate > data.ContainerChild | references=speciesLabel,meanWeight,totalWeight totalWeight + {*:1} Integer | positiveNumber meanWeight + {*:1} Integer | positiveNumber -species {*:1} fr.ird.observe.dto.referential.common.SpeciesReference | notNull -weightMeasureMethod {*:0..1} fr.ird.observe.dto.referential.common.WeightMeasureMethodReference +species {*:1} referential.common.SpeciesReference | notNull +weightMeasureMethod {*:0..1} referential.common.WeightMeasureMethodReference data.ps.observation.Set > data.Editable | references=comment,discardedTargetSampleEnabled,keptTargetSampleEnabled,nonTargetSampleEnabled,setNonTargetCatchReleaseEnabled constants=targetSampleCapture,endSetDate,endPursingDate,endSetTime,endPursingTime navigationParent=data.ps.observation.Activity startTime + {*:1} Date @@ -152,10 +152,10 @@ schoolMeanDepth + {*:1} Integer | positiveNumber schoolThickness + {*:1} Integer | positiveNumber supportVesselName + {*:1} String currentMeasureDepth + {*:1} Integer | positiveNumber -schoolType + {*:1} fr.ird.observe.dto.referential.ps.common.SchoolTypeReference +schoolType + {*:1} referential.ps.common.SchoolTypeReference targetCatchCompositionEstimatedByObserver + {*:1} boolean targetDiscardCatchCompositionEstimatedByObserver + {*:1} boolean -reasonForNullSet {*:0..1} fr.ird.observe.dto.referential.ps.observation.ReasonForNullSetReference +reasonForNullSet {*:0..1} referential.ps.observation.ReasonForNullSetReference discardedTargetSampleEnabled + boolean keptTargetSampleEnabled + boolean nonTargetSampleEnabled + boolean @@ -189,19 +189,19 @@ comment + {*:1} String catchWeight + {*:1} Float | notNull positiveNumber hasSample + {*:1} boolean well + {*:1} String -weightCategory {*:1} fr.ird.observe.dto.referential.ps.observation.WeightCategoryReference | notNull -species {*:1} fr.ird.observe.dto.referential.common.SpeciesReference | notNull -weightMeasureMethod {*:0..1} fr.ird.observe.dto.referential.common.WeightMeasureMethodReference +weightCategory {*:1} referential.ps.observation.WeightCategoryReference | notNull +species {*:1} referential.common.SpeciesReference | notNull +weightMeasureMethod {*:0..1} referential.common.WeightMeasureMethodReference data.ps.observation.DiscardedTargetCatch > data.ContainerChild | references=speciesLabel,catchWeight mainDto=TargetCatch comment + {*:1} String catchWeight + {*:1} Float | notNull positiveNumber hasSample + {*:1} boolean broughtOnDeck + {*:1} Boolean -weightCategory {*:1} fr.ird.observe.dto.referential.ps.observation.WeightCategoryReference | notNull -reasonForDiscard {*:0..1} fr.ird.observe.dto.referential.ps.observation.ReasonForDiscardReference -species {*:1} fr.ird.observe.dto.referential.common.SpeciesReference | notNull -weightMeasureMethod {*:0..1} fr.ird.observe.dto.referential.common.WeightMeasureMethodReference +weightCategory {*:1} referential.ps.observation.WeightCategoryReference | notNull +reasonForDiscard {*:0..1} referential.ps.observation.ReasonForDiscardReference +species {*:1} referential.common.SpeciesReference | notNull +weightMeasureMethod {*:0..1} referential.common.WeightMeasureMethodReference data.ps.observation.TargetLength > data.ContainerChild | references=speciesLabel,length,count constants=totalWeight length + {*:1} Float | positiveNumber @@ -211,12 +211,12 @@ weight + {*:1} Float | positiveNumber isWeightComputed + {*:1} boolean acquisitionMode + {*:1} int tagNumber + {*:1} String -species {*:1} fr.ird.observe.dto.referential.common.SpeciesReference | notNull -sizeMeasureType {*:1} fr.ird.observe.dto.referential.common.SizeMeasureTypeReference | notNull -weightMeasureType {*:0..1} fr.ird.observe.dto.referential.common.WeightMeasureTypeReference -sex {*:0..1} fr.ird.observe.dto.referential.common.SexReference -weightMeasureMethod {*:0..1} fr.ird.observe.dto.referential.common.WeightMeasureMethodReference -lengthMeasureMethod {*:0..1} fr.ird.observe.dto.referential.common.LengthMeasureMethodReference +species {*:1} referential.common.SpeciesReference | notNull +sizeMeasureType {*:1} referential.common.SizeMeasureTypeReference | notNull +weightMeasureType {*:0..1} referential.common.WeightMeasureTypeReference +sex {*:0..1} referential.common.SexReference +weightMeasureMethod {*:0..1} referential.common.WeightMeasureMethodReference +lengthMeasureMethod {*:0..1} referential.common.LengthMeasureMethodReference data.ps.observation.TargetSample > data.Container | form=TargetLength references=homeId,nature,discarded targetLength + {*} data.ps.observation.TargetLength | ordered @@ -239,8 +239,8 @@ availableSpeciesIds + {*} String | unique data.ps.observation.TransmittingBuoy > data.Data | references=code,comment,transmittingBuoyTypeLabel,transmittingBuoyOperationLabel comment + {*:1} String code + {*:1} String | mayNotNull -transmittingBuoyOwnership + {*:1} fr.ird.observe.dto.referential.ps.common.TransmittingBuoyOwnershipReference -transmittingBuoyType {*:1} fr.ird.observe.dto.referential.ps.common.TransmittingBuoyTypeReference | notNull -transmittingBuoyOperation {*:1} fr.ird.observe.dto.referential.ps.common.TransmittingBuoyOperationReference | notNull -country {*:1} fr.ird.observe.dto.referential.common.CountryReference -vessel {*:1} fr.ird.observe.dto.referential.common.VesselReference \ No newline at end of file +transmittingBuoyOwnership + {*:1} referential.ps.common.TransmittingBuoyOwnershipReference +transmittingBuoyType {*:1} referential.ps.common.TransmittingBuoyTypeReference | notNull +transmittingBuoyOperation {*:1} referential.ps.common.TransmittingBuoyOperationReference | notNull +country {*:1} referential.common.CountryReference +vessel {*:1} referential.common.VesselReference \ No newline at end of file ===================================== models/dto-definition/src/main/models/Observe-25-data-ps.model ===================================== @@ -5,11 +5,11 @@ comment + {*:1} String number + {*:1} Integer | notNull positiveNumber usedInTrip + {*:1} Boolean gearUseFeaturesMeasurement + {*} data.ps.common.GearUseFeaturesMeasurement | ordered -gear {*:1} fr.ird.observe.dto.referential.common.GearReference | notNull +gear {*:1} referential.common.GearReference | notNull data.ps.common.GearUseFeaturesMeasurement > data.Data | references=measurementValue,gearCharacteristicLabel measurementValue + {*:1} String -gearCharacteristic {*:1} fr.ird.observe.dto.referential.common.GearCharacteristicReference +gearCharacteristic {*:1} referential.common.GearCharacteristicReference data.ps.common.Trip > data.Openable >> data.TripAware | references=startDate,endDate,program,routeSize,vessel,observerLabel comparator=startDate navigationParent=referential.common.Program comment + {*:1} String @@ -20,16 +20,16 @@ formsUrl + {*:1} String reportsUrl + {*:1} String historicalData + {*:1} boolean ersId + {*:1} String -observer {*:0..1} fr.ird.observe.dto.referential.common.PersonReference | notNull -captain {*:0..1} fr.ird.observe.dto.referential.common.PersonReference | mayNotNull -dataEntryOperator {*:0..1} fr.ird.observe.dto.referential.common.PersonReference | mayNotNull -vessel {*:1} fr.ird.observe.dto.referential.common.VesselReference | notNull -ocean {*:0..1} fr.ird.observe.dto.referential.common.OceanReference | notNull -departureHarbour {*:0..1} fr.ird.observe.dto.referential.common.HarbourReference | notNull -landingHarbour {*:0..1} fr.ird.observe.dto.referential.common.HarbourReference | mayNotNull -dataQuality {*:0..1} fr.ird.observe.dto.referential.common.DataQualityReference +observer {*:0..1} referential.common.PersonReference | notNull +captain {*:0..1} referential.common.PersonReference | mayNotNull +dataEntryOperator {*:0..1} referential.common.PersonReference | mayNotNull +vessel {*:1} referential.common.VesselReference | notNull +ocean {*:0..1} referential.common.OceanReference | notNull +departureHarbour {*:0..1} referential.common.HarbourReference | notNull +landingHarbour {*:0..1} referential.common.HarbourReference | mayNotNull +dataQuality {*:0..1} referential.common.DataQualityReference route {*} data.ps.observation.RouteStub | ordered unique -program {*:1} fr.ird.observe.dto.referential.common.ProgramReference +program {*:1} referential.common.ProgramReference data.ps.common.TripGearUseFeatures > data.Container gearUseFeatures + {*} data.ps.common.GearUseFeatures | ordered mayNotNull ===================================== models/dto-definition/src/main/models/Observe-30-data-ll-observation.model ===================================== @@ -13,9 +13,9 @@ latitude + {*:1} Float | notNull longitude + {*:1} Float | notNull seaSurfaceTemperature + {*:1} Float | mayNotNull strictlyPositiveNumber quadrant + {*:1} Integer | notNull -fpaZone {*:1} fr.ird.observe.dto.referential.common.FpaZoneReference | mayNotNull -vesselActivity {*:1} fr.ird.observe.dto.referential.ll.common.VesselActivityReference | notNull -dataQuality {*:0..1} fr.ird.observe.dto.referential.common.DataQualityReference +fpaZone {*:1} referential.common.FpaZoneReference | mayNotNull +vesselActivity {*:1} referential.ll.common.VesselActivityReference | notNull +dataQuality {*:0..1} referential.common.DataQualityReference set {*:0..1} fr.ird.observe.dto.data.ll.observation.SetReference data.ll.observation.ActivityEncounter > data.Container @@ -32,8 +32,8 @@ hasSet + {*:1} Boolean data.ll.observation.BaitsComposition > data.ContainerChildWithProportion | references=proportion,baitTypeLabel,baitSettingStatusLabel,individualSize,individualWeight individualSize + {*:1} Integer | positiveNumber individualWeight + {*:1} Float | positiveNumber -baitSettingStatus {*:1} fr.ird.observe.dto.referential.ll.common.BaitSettingStatusReference -baitType {*:1} fr.ird.observe.dto.referential.ll.common.BaitTypeReference | notNull +baitSettingStatus {*:1} referential.ll.common.BaitSettingStatusReference +baitType {*:1} referential.ll.common.BaitTypeReference | notNull data.ll.observation.Basket > data.Data >> data.ll.observation.LonglineElementAware | references=settingIdentifier,haulingIdentifier,parentId settingIdentifier + {*:1} Integer | notNull positiveNumber @@ -60,27 +60,27 @@ snapWeight + {*:1} Float | positiveNumber tracelineLength + {*:1} Float | positiveNumber hookLost + {*:1} Boolean traceCutOff + {*:1} Boolean -baitSettingStatus {*:0..1} fr.ird.observe.dto.referential.ll.common.BaitSettingStatusReference -hookSize {*:0..1} fr.ird.observe.dto.referential.ll.common.HookSizeReference -baitHaulingStatus {*:0..1} fr.ird.observe.dto.referential.ll.observation.BaitHaulingStatusReference -hookType {*:0..1} fr.ird.observe.dto.referential.ll.common.HookTypeReference -tracelineType {*:0..1} fr.ird.observe.dto.referential.ll.common.LineTypeReference | mayNotNull -topType {*:0..1} fr.ird.observe.dto.referential.ll.common.LineTypeReference | mayNotNull -baitType {*:0..1} fr.ird.observe.dto.referential.ll.common.BaitTypeReference +baitSettingStatus {*:0..1} referential.ll.common.BaitSettingStatusReference +hookSize {*:0..1} referential.ll.common.HookSizeReference +baitHaulingStatus {*:0..1} referential.ll.observation.BaitHaulingStatusReference +hookType {*:0..1} referential.ll.common.HookTypeReference +tracelineType {*:0..1} referential.ll.common.LineTypeReference | mayNotNull +topType {*:0..1} referential.ll.common.LineTypeReference | mayNotNull +baitType {*:0..1} referential.ll.common.BaitTypeReference parentId + {*:1} String notUsed + {*:1} boolean data.ll.observation.BranchlinesComposition > data.ContainerChildWithProportion | references=proportion,topTypeLabel,tracelineTypeLabel,length length + {*:1} Float | notNull positiveNumber tracelineLength + {*:1} Float | positiveNumber -topType {*:0..1} fr.ird.observe.dto.referential.ll.common.LineTypeReference | notNull -tracelineType {*:0..1} fr.ird.observe.dto.referential.ll.common.LineTypeReference | notNull +topType {*:0..1} referential.ll.common.LineTypeReference | notNull +tracelineType {*:0..1} referential.ll.common.LineTypeReference | notNull data.ll.observation.Catch > data.ContainerChild >> data.ll.observation.LonglinePositionAware | references=homeId comment + {*:1} String -section {*:0..1} fr.ird.observe.dto.data.ll.observation.SectionReference -basket {*:0..1} fr.ird.observe.dto.data.ll.observation.BasketReference -branchline {*:0..1} fr.ird.observe.dto.data.ll.observation.BranchlineReference +section {*:0..1} data.ll.observation.SectionReference +basket {*:0..1} data.ll.observation.BasketReference +branchline {*:0..1} data.ll.observation.BranchlineReference count + {*:1} Integer | positiveNumber totalWeight + {*:1} Float | positiveNumber hookWhenDiscarded + {*:1} Boolean @@ -91,33 +91,33 @@ photoReferences + {*:1} String number + {*:1} Integer acquisitionMode + {*:1} int tagNumber + {*:1} String -catchFate {*:1} fr.ird.observe.dto.referential.ll.common.CatchFateReference | notNull -discardHealthStatus {*:1} fr.ird.observe.dto.referential.ll.common.HealthStatusReference +catchFate {*:1} referential.ll.common.CatchFateReference | notNull +discardHealthStatus {*:1} referential.ll.common.HealthStatusReference sizeMeasure + {*} data.ll.observation.SizeMeasure -species {*:1} fr.ird.observe.dto.referential.common.SpeciesReference | notNull -predator {*:*} fr.ird.observe.dto.referential.common.SpeciesReference -maturityStatus {*:0..1} fr.ird.observe.dto.referential.ll.observation.MaturityStatusReference -stomachFullness {*:0..1} fr.ird.observe.dto.referential.ll.observation.StomachFullnessReference -hookPosition {*:0..1} fr.ird.observe.dto.referential.ll.observation.HookPositionReference +species {*:1} referential.common.SpeciesReference | notNull +predator {*:*} referential.common.SpeciesReference +maturityStatus {*:0..1} referential.ll.observation.MaturityStatusReference +stomachFullness {*:0..1} referential.ll.observation.StomachFullnessReference +hookPosition {*:0..1} referential.ll.observation.HookPositionReference weightMeasure + {*} data.ll.observation.WeightMeasure -catchHealthStatus {*:1} fr.ird.observe.dto.referential.ll.common.HealthStatusReference -sex {*:0..1} fr.ird.observe.dto.referential.common.SexReference -weightMeasureMethod {*:0..1} fr.ird.observe.dto.referential.common.WeightMeasureMethodReference +catchHealthStatus {*:1} referential.ll.common.HealthStatusReference +sex {*:0..1} referential.common.SexReference +weightMeasureMethod {*:0..1} referential.common.WeightMeasureMethodReference data.ll.observation.Encounter > data.ContainerChild | references=encounterTypeLabel,speciesLabel distance + {*:1} Float | mayNotNull positiveNumber count + {*:1} Integer | mayNotNull positiveNumber -species {*:1} fr.ird.observe.dto.referential.common.SpeciesReference | mayNotNull -encounterType {*:1} fr.ird.observe.dto.referential.ll.observation.EncounterTypeReference | notNull +species {*:1} referential.common.SpeciesReference | mayNotNull +encounterType {*:1} referential.ll.observation.EncounterTypeReference | notNull data.ll.observation.FloatlinesComposition > data.ContainerChildWithProportion | references=proportion,lineTypeLabel,length length + {*:1} Float | notNull positiveNumber -lineType {*:1} fr.ird.observe.dto.referential.ll.common.LineTypeReference | notNull +lineType {*:1} referential.ll.common.LineTypeReference | notNull data.ll.observation.HooksComposition > data.ContainerChildWithProportion | references=proportion,hookTypeLabel,hookSizeLabel,hookOffset hookOffset + {*:1} Integer | positiveNumber -hookType {*:1} fr.ird.observe.dto.referential.ll.common.HookTypeReference | notNull -hookSize {*:1} fr.ird.observe.dto.referential.ll.common.HookSizeReference +hookType {*:1} referential.ll.common.HookTypeReference | notNull +hookSize {*:1} referential.ll.common.HookSizeReference data.ll.observation.Section > data.Data >> data.ll.observation.LonglineElementAware | references=settingIdentifier,haulingIdentifier,parentId settingIdentifier + {*:1} Integer | notNull positiveNumber @@ -128,9 +128,9 @@ notUsed + {*:1} boolean data.ll.observation.SensorUsed > data.ContainerChildWithDataFile | references=sensorTypeLabel sensorSerialNo + {*:1} String | mayNotNull -sensorDataFormat {*:0..1} fr.ird.observe.dto.referential.ll.observation.SensorDataFormatReference -sensorType {*:1} fr.ird.observe.dto.referential.ll.observation.SensorTypeReference | notNull -sensorBrand {*:1} fr.ird.observe.dto.referential.ll.observation.SensorBrandReference +sensorDataFormat {*:0..1} referential.ll.observation.SensorDataFormatReference +sensorType {*:1} referential.ll.observation.SensorTypeReference | notNull +sensorBrand {*:1} referential.ll.observation.SensorBrandReference data.ll.observation.Set > data.Editable | references=homeId navigationParent=data.ll.observation.Activity number + {*:1} Integer | positiveNumber @@ -168,17 +168,17 @@ haulingStartQuadrant + {*:1} Integer | notNull haulingEndQuadrant + {*:1} Integer | notNull settingStartQuadrant + {*:1} Integer | notNull settingEndQuadrant + {*:1} Integer | notNull -settingShape {*:1} fr.ird.observe.dto.referential.ll.common.SettingShapeReference -lineType {*:0..1} fr.ird.observe.dto.referential.ll.common.LineTypeReference -lightsticksType {*:0..1} fr.ird.observe.dto.referential.ll.common.LightsticksTypeReference -lightsticksColor {*:0..1} fr.ird.observe.dto.referential.ll.common.LightsticksColorReference +settingShape {*:1} referential.ll.common.SettingShapeReference +lineType {*:0..1} referential.ll.common.LineTypeReference +lightsticksType {*:0..1} referential.ll.common.LightsticksTypeReference +lightsticksColor {*:0..1} referential.ll.common.LightsticksColorReference otherSets {*} data.ll.observation.SetStub | mainDto=skip data.ll.observation.SetCatch > data.Container >> data.ll.observation.LonglinePositionContainerAware catches {*} data.ll.observation.Catch | ordered -sections {*:*} fr.ird.observe.dto.data.ll.observation.SectionReference -baskets {*:*} fr.ird.observe.dto.data.ll.observation.BasketReference -branchlines {*:*} fr.ird.observe.dto.data.ll.observation.BranchlineReference +sections {*:*} data.ll.observation.SectionReference +baskets {*:*} data.ll.observation.BasketReference +branchlines {*:*} data.ll.observation.BranchlineReference haulingStartTimeStamp + {*:1} Date data.ll.observation.SetDetailComposition > data.Simple | mainDto=Set @@ -195,7 +195,7 @@ data.ll.observation.SetGlobalComposition > data.Simple | mainDto=Set baitsComposition + {*} data.ll.observation.BaitsComposition floatlinesComposition + {*} data.ll.observation.FloatlinesComposition hooksComposition + {*} data.ll.observation.HooksComposition -mitigationType:set + {*:*} fr.ird.observe.dto.referential.ll.common.MitigationTypeReference +mitigationType:set + {*:*} referential.ll.common.MitigationTypeReference branchlinesComposition + {*} data.ll.observation.BranchlinesComposition data.ll.observation.SetStub > data.Data | mainDto=Set @@ -204,21 +204,21 @@ activity {*:1} fr.ird.observe.dto.data.ll.observation.ActivityReference | unique data.ll.observation.SetTdr > data.Container >> data.ll.observation.LonglinePositionContainerAware tdr {*} data.ll.observation.Tdr -sections {*:*} fr.ird.observe.dto.data.ll.observation.SectionReference -baskets {*:*} fr.ird.observe.dto.data.ll.observation.BasketReference -branchlines {*:*} fr.ird.observe.dto.data.ll.observation.BranchlineReference +sections {*:*} data.ll.observation.SectionReference +baskets {*:*} data.ll.observation.BasketReference +branchlines {*:*} data.ll.observation.BranchlineReference settingStartTimeStamp + {*:1} Date data.ll.observation.SizeMeasure > data.Data | references=sizeMeasureTypeLabel,size size + {*:1} Float | positiveNumber -sizeMeasureType {*:1} fr.ird.observe.dto.referential.common.SizeMeasureTypeReference -lengthMeasureMethod {*:0..1} fr.ird.observe.dto.referential.common.LengthMeasureMethodReference +sizeMeasureType {*:1} referential.common.SizeMeasureTypeReference +lengthMeasureMethod {*:0..1} referential.common.LengthMeasureMethodReference data.ll.observation.Tdr > data.ContainerChildWithDataFile >> data.ll.observation.LonglinePositionAware | references=homeId comment + {*:1} String -section {*:0..1} fr.ird.observe.dto.data.ll.observation.SectionReference -basket {*:0..1} fr.ird.observe.dto.data.ll.observation.BasketReference -branchline {*:0..1} fr.ird.observe.dto.data.ll.observation.BranchlineReference +section {*:0..1} data.ll.observation.SectionReference +basket {*:0..1} data.ll.observation.BasketReference +branchline {*:0..1} data.ll.observation.BranchlineReference floatline1Length + {*:1} Float | positiveNumber floatline2Length + {*:1} Float | positiveNumber serialNo + {*:1} String @@ -234,15 +234,15 @@ minFishingDepth + {*:1} Float | positiveNumber maxFishingDepth + {*:1} Float | positiveNumber meanFishingDepth + {*:1} Float | positiveNumber medianFishingDepth + {*:1} Float | positiveNumber -sensorBrand {*:0..1} fr.ird.observe.dto.referential.ll.observation.SensorBrandReference -species {*:*} fr.ird.observe.dto.referential.common.SpeciesReference -itemHorizontalPosition {*:0..1} fr.ird.observe.dto.referential.ll.observation.ItemHorizontalPositionReference -itemVerticalPosition {*:0..1} fr.ird.observe.dto.referential.ll.observation.ItemVerticalPositionReference +sensorBrand {*:0..1} referential.ll.observation.SensorBrandReference +species {*:*} referential.common.SpeciesReference +itemHorizontalPosition {*:0..1} referential.ll.observation.ItemHorizontalPositionReference +itemVerticalPosition {*:0..1} referential.ll.observation.ItemVerticalPositionReference data.ll.observation.TripActivityStub > data.Data | mainDto=Activity timeStamp + {*:1} Date data.ll.observation.WeightMeasure > data.Data | references=weightMeasureTypeLabel,weight weight + {*:1} Float | positiveNumber -weightMeasureType {*:1} fr.ird.observe.dto.referential.common.WeightMeasureTypeReference -weightMeasureMethod {*:0..1} fr.ird.observe.dto.referential.common.WeightMeasureMethodReference +weightMeasureType {*:1} referential.common.WeightMeasureTypeReference +weightMeasureMethod {*:0..1} referential.common.WeightMeasureMethodReference ===================================== models/dto-definition/src/main/models/Observe-31-data-ll-logbook.model ===================================== @@ -6,12 +6,12 @@ weight + {*:1} Float | positiveNumber count + {*:1} Integer | notNull positiveNumber acquisitionMode + {*:1} int tagNumber + {*:1} String -species {*:1} fr.ird.observe.dto.referential.common.SpeciesReference | notNull -sex {*:1} fr.ird.observe.dto.referential.common.SexReference -sizeMeasureType {*:0..1} fr.ird.observe.dto.referential.common.SizeMeasureTypeReference -lengthMeasureMethod {*:0..1} fr.ird.observe.dto.referential.common.LengthMeasureMethodReference -weightMeasureType {*:0..1} fr.ird.observe.dto.referential.common.WeightMeasureTypeReference -weightMeasureMethod {*:0..1} fr.ird.observe.dto.referential.common.WeightMeasureMethodReference +species {*:1} referential.common.SpeciesReference | notNull +sex {*:1} referential.common.SexReference +sizeMeasureType {*:0..1} referential.common.SizeMeasureTypeReference +lengthMeasureMethod {*:0..1} referential.common.LengthMeasureMethodReference +weightMeasureType {*:0..1} referential.common.WeightMeasureTypeReference +weightMeasureMethod {*:0..1} referential.common.WeightMeasureMethodReference data.ll.logbook.Sample > data.Openable | references=timeStamp,latitude,longitude comparator=timeStamp navigationParent=data.ll.common.Trip comment + {*:1} String @@ -37,16 +37,16 @@ latitude + {*:1} Float | mayNotNull longitude + {*:1} Float | mayNotNull seaSurfaceTemperature + {*:1} Float | mayNotNull strictlyPositiveNumber quadrant + {*:1} Integer | mayNotNull -fpaZone {*:1} fr.ird.observe.dto.referential.common.FpaZoneReference | mayNotNull -wind {*:1} fr.ird.observe.dto.referential.common.WindReference +fpaZone {*:1} referential.common.FpaZoneReference | mayNotNull +wind {*:1} referential.common.WindReference windDirection + {*:1} Integer | positiveNumber currentSpeed + {*:1} Float | positiveNumber currentDirection + {*:1} Integer | positiveNumber -vesselActivity {*:1} fr.ird.observe.dto.referential.ll.common.VesselActivityReference | notNull -dataQuality {*:0..1} fr.ird.observe.dto.referential.common.DataQualityReference +vesselActivity {*:1} referential.ll.common.VesselActivityReference | notNull +dataQuality {*:0..1} referential.common.DataQualityReference set {*:0..1} fr.ird.observe.dto.data.ll.logbook.SetReference -activitySample {*:0..1} fr.ird.observe.dto.data.ll.logbook.ActivitySampleReference -relatedObservedActivity + {0..1} fr.ird.observe.dto.data.ll.observation.ActivityReference | mayNotNull +activitySample {*:0..1} data.ll.logbook.ActivitySampleReference +relatedObservedActivity + {0..1} data.ll.observation.ActivityReference | mayNotNull catchSpeciesIds + {*} String | unique data.ll.logbook.ActivityStub > data.Data | mainDto=Activity @@ -94,11 +94,11 @@ haulingStartQuadrant + {*:1} Integer haulingEndQuadrant + {*:1} Integer settingStartQuadrant + {*:1} Integer | notNull settingEndQuadrant + {*:1} Integer -settingShape {*:1} fr.ird.observe.dto.referential.ll.common.SettingShapeReference -lineType {*:0..1} fr.ird.observe.dto.referential.ll.common.LineTypeReference +settingShape {*:1} referential.ll.common.SettingShapeReference +lineType {*:0..1} referential.ll.common.LineTypeReference lightsticksUsed + {*:1} Boolean -lightsticksType {*:0..1} fr.ird.observe.dto.referential.ll.common.LightsticksTypeReference -lightsticksColor {*:0..1} fr.ird.observe.dto.referential.ll.common.LightsticksColorReference +lightsticksType {*:0..1} referential.ll.common.LightsticksTypeReference +lightsticksColor {*:0..1} referential.ll.common.LightsticksColorReference otherSets {*} data.ll.logbook.SetStub data.ll.logbook.SetCatch > data.Container @@ -113,29 +113,29 @@ data.ll.logbook.SetGlobalComposition > data.Simple | mainDto=Set baitsComposition + {*} data.ll.logbook.BaitsComposition floatlinesComposition + {*} data.ll.logbook.FloatlinesComposition hooksComposition + {*} data.ll.logbook.HooksComposition -mitigationType:set + {*:*} fr.ird.observe.dto.referential.ll.common.MitigationTypeReference +mitigationType:set + {*:*} referential.ll.common.MitigationTypeReference branchlinesComposition + {*} data.ll.logbook.BranchlinesComposition data.ll.logbook.BaitsComposition > data.ContainerChildWithProportion | references=proportion,baitTypeLabel,baitSettingStatusLabel,individualSize,individualWeight individualSize + {*:1} Integer | positiveNumber individualWeight + {*:1} Float | positiveNumber -baitSettingStatus {*:1} fr.ird.observe.dto.referential.ll.common.BaitSettingStatusReference -baitType {*:1} fr.ird.observe.dto.referential.ll.common.BaitTypeReference | notNull +baitSettingStatus {*:1} referential.ll.common.BaitSettingStatusReference +baitType {*:1} referential.ll.common.BaitTypeReference | notNull data.ll.logbook.BranchlinesComposition > data.ContainerChildWithProportion | references=proportion,topTypeLabel,tracelineTypeLabel,length length + {*:1} Float | notNull positiveNumber tracelineLength + {*:1} Float | positiveNumber -topType {*:0..1} fr.ird.observe.dto.referential.ll.common.LineTypeReference | notNull -tracelineType {*:0..1} fr.ird.observe.dto.referential.ll.common.LineTypeReference | notNull +topType {*:0..1} referential.ll.common.LineTypeReference | notNull +tracelineType {*:0..1} referential.ll.common.LineTypeReference | notNull data.ll.logbook.FloatlinesComposition > data.ContainerChildWithProportion | references=proportion,lineTypeLabel,length length + {*:1} Float | notNull positiveNumber -lineType {*:1} fr.ird.observe.dto.referential.ll.common.LineTypeReference | notNull +lineType {*:1} referential.ll.common.LineTypeReference | notNull data.ll.logbook.HooksComposition > data.ContainerChildWithProportion | references=proportion,hookTypeLabel,hookSizeLabel,hookOffset hookOffset + {*:1} Integer | positiveNumber -hookType {*:1} fr.ird.observe.dto.referential.ll.common.HookTypeReference | notNull -hookSize {*:1} fr.ird.observe.dto.referential.ll.common.HookSizeReference +hookType {*:1} referential.ll.common.HookTypeReference | notNull +hookSize {*:1} referential.ll.common.HookSizeReference data.ll.logbook.Catch > data.ContainerChild | references=homeId comment + {*:1} String @@ -150,10 +150,10 @@ acquisitionMode + {*:1} int countDepredated + {*:1} Integer | positiveNumber depredatedProportion + {*:1} Integer | strictlyPositiveNumber tagNumber + {*:1} String -catchFate {*:1} fr.ird.observe.dto.referential.ll.common.CatchFateReference | notNull -discardHealthStatus {*:1} fr.ird.observe.dto.referential.ll.common.HealthStatusReference -species {*:1} fr.ird.observe.dto.referential.common.SpeciesReference | notNull -predator {*:*} fr.ird.observe.dto.referential.common.SpeciesReference -catchHealthStatus {*:1} fr.ird.observe.dto.referential.ll.common.HealthStatusReference -weightMeasureMethod {*:0..1} fr.ird.observe.dto.referential.common.WeightMeasureMethodReference -onBoardProcessing {*:1} fr.ird.observe.dto.referential.ll.common.OnBoardProcessingReference +catchFate {*:1} referential.ll.common.CatchFateReference | notNull +discardHealthStatus {*:1} referential.ll.common.HealthStatusReference +species {*:1} referential.common.SpeciesReference | notNull +predator {*:*} referential.common.SpeciesReference +catchHealthStatus {*:1} referential.ll.common.HealthStatusReference +weightMeasureMethod {*:0..1} referential.common.WeightMeasureMethodReference +onBoardProcessing {*:1} referential.ll.common.OnBoardProcessingReference ===================================== models/dto-definition/src/main/models/Observe-32-data-ll-landing.model ===================================== @@ -1,25 +1,25 @@ package fr.ird.observe.dto.data.ll.landing | form=self packagePriority=32 data.ll.landing.LandingPart > data.ContainerChild | references=speciesLabel,categoryMin,categoryMax,weight -species {*:1} fr.ird.observe.dto.referential.common.SpeciesReference | notNull +species {*:1} referential.common.SpeciesReference | notNull categoryMin + {*:1} Float categoryMax + {*:1} Float -onBoardProcessing {*:1} fr.ird.observe.dto.referential.ll.common.OnBoardProcessingReference -conservation {*:1} fr.ird.observe.dto.referential.ll.landing.ConservationReference +onBoardProcessing {*:1} referential.ll.common.OnBoardProcessingReference +conservation {*:1} referential.ll.landing.ConservationReference count + {*:1} Integer weight + {*:1} Float | notNull -weightMeasureMethod {*:0..1} fr.ird.observe.dto.referential.common.WeightMeasureMethodReference -dataQuality {*:0..1} fr.ird.observe.dto.referential.common.DataQualityReference +weightMeasureMethod {*:0..1} referential.common.WeightMeasureMethodReference +dataQuality {*:0..1} referential.common.DataQualityReference data.ll.landing.Landing > data.Openable | references=startDate,harbourLabel,vesselLabel comparator=startDate navigationParent=data.ll.common.Trip comment + {*:1} String startDate + {*:1} Date endDate + {*:1} Date -dataSource {*:1} fr.ird.observe.dto.referential.ll.landing.DataSourceReference -processingCompany {*:1} fr.ird.observe.dto.referential.ll.landing.CompanyReference | mayNotNull -shippingCompany {*:1} fr.ird.observe.dto.referential.ll.landing.CompanyReference -brokerageCompany {*:1} fr.ird.observe.dto.referential.ll.landing.CompanyReference -person {*:1} fr.ird.observe.dto.referential.common.PersonReference -harbour {*:0..1} fr.ird.observe.dto.referential.common.HarbourReference | notNull -vessel {*:0..1} fr.ird.observe.dto.referential.common.VesselReference +dataSource {*:1} referential.ll.landing.DataSourceReference +processingCompany {*:1} referential.ll.landing.CompanyReference | mayNotNull +shippingCompany {*:1} referential.ll.landing.CompanyReference +brokerageCompany {*:1} referential.ll.landing.CompanyReference +person {*:1} referential.common.PersonReference +harbour {*:0..1} referential.common.HarbourReference | notNull +vessel {*:0..1} referential.common.VesselReference landingPart + {*} data.ll.landing.LandingPart ===================================== models/dto-definition/src/main/models/Observe-35-data-ll.model ===================================== @@ -5,11 +5,11 @@ comment + {*:1} String number + {*:1} Integer | notNull positiveNumber usedInTrip + {*:1} Boolean gearUseFeaturesMeasurement + {*} data.ll.common.GearUseFeaturesMeasurement | ordered -gear {*:1} fr.ird.observe.dto.referential.common.GearReference | notNull +gear {*:1} referential.common.GearReference | notNull data.ll.common.GearUseFeaturesMeasurement > data.Data | references=measurementValue,gearCharacteristicLabel measurementValue + {*:1} String -gearCharacteristic {*:1} fr.ird.observe.dto.referential.common.GearCharacteristicReference +gearCharacteristic {*:1} referential.common.GearCharacteristicReference data.ll.common.Trip > data.Openable >> data.TripAware | references=startDate,endDate,program,tripTypeId,observationsActivityCount,logbookActivityCount,landingSize,sampleSize,vessel,observerLabel,observationsAvailability,logbookAvailability comparator=startDate navigationParent=referential.common.Program startDate + {*:1} Date | notNull @@ -30,21 +30,21 @@ noOfCrewMembers + {*:1} Integer noOfDays + {*:1} Integer observationsAvailability + {*:1} boolean logbookAvailability + {*:1} boolean -tripType {*:1} fr.ird.observe.dto.referential.ll.common.TripTypeReference | notNull -observationMethod {*:1} fr.ird.observe.dto.referential.ll.common.ObservationMethodReference -observer {*:1} fr.ird.observe.dto.referential.common.PersonReference -vessel {*:1} fr.ird.observe.dto.referential.common.VesselReference | notNull -captain {*:1} fr.ird.observe.dto.referential.common.PersonReference | mayNotNull -observationsDataEntryOperator {*:1} fr.ird.observe.dto.referential.common.PersonReference -logbookDataEntryOperator {*:1} fr.ird.observe.dto.referential.common.PersonReference -program {*:1} fr.ird.observe.dto.referential.common.ProgramReference -ocean {*:1} fr.ird.observe.dto.referential.common.OceanReference | notNull -departureHarbour {*:0..1} fr.ird.observe.dto.referential.common.HarbourReference | mayNotNull -landingHarbour {*:0..1} fr.ird.observe.dto.referential.common.HarbourReference | mayNotNull -observationsDataQuality {*:0..1} fr.ird.observe.dto.referential.common.DataQualityReference -logbookDataQuality {*:0..1} fr.ird.observe.dto.referential.common.DataQualityReference +tripType {*:1} referential.ll.common.TripTypeReference | notNull +observationMethod {*:1} referential.ll.common.ObservationMethodReference +observer {*:1} referential.common.PersonReference +vessel {*:1} referential.common.VesselReference | notNull +captain {*:1} referential.common.PersonReference | mayNotNull +observationsDataEntryOperator {*:1} referential.common.PersonReference +logbookDataEntryOperator {*:1} referential.common.PersonReference +program {*:1} referential.common.ProgramReference +ocean {*:1} referential.common.OceanReference | notNull +departureHarbour {*:0..1} referential.common.HarbourReference | mayNotNull +landingHarbour {*:0..1} referential.common.HarbourReference | mayNotNull +observationsDataQuality {*:0..1} referential.common.DataQualityReference +logbookDataQuality {*:0..1} referential.common.DataQualityReference activityObs + {*} data.ll.observation.TripActivityStub | ordered unique -species {*:*} fr.ird.observe.dto.referential.common.SpeciesReference | mayNotNull +species {*:*} referential.common.SpeciesReference | mayNotNull data.ll.common.TripGearUseFeatures > data.Container gearUseFeatures + {*} data.ll.common.GearUseFeatures | ordered mayNotNull ===================================== toolkit/templates/src/main/java/fr/ird/observe/toolkit/templates/DtoMetaTransformer.java ===================================== @@ -32,8 +32,10 @@ import org.nuiton.eugene.java.BeanTransformerContext; import org.nuiton.eugene.java.BeanTransformerTagValues; import org.nuiton.eugene.java.EugeneJavaTagValues; import org.nuiton.eugene.models.object.ObjectModel; +import org.nuiton.eugene.models.object.ObjectModelAttribute; import org.nuiton.eugene.models.object.ObjectModelClass; import org.nuiton.eugene.models.object.ObjectModelPackage; +import org.nuiton.eugene.models.object.xml.ObjectModelAttributeImpl; import java.io.File; import java.io.IOException; @@ -63,7 +65,10 @@ public abstract class DtoMetaTransformer extends AbstractMetaTransformer<ObjectM // Get all non abstract beans BeanTransformerContext all = new BeanTransformerContext(model, new EugeneCoreTagValues(), new EugeneJavaTagValues(), new BeanTransformerTagValues(), false, false, t -> true, getLog()); + BeanTransformerContext allWithAbstract = new BeanTransformerContext(model, new EugeneCoreTagValues(), new EugeneJavaTagValues(), new BeanTransformerTagValues(), true, false, t -> true, getLog()); ObserveTagValues observeTagValues = new ObserveTagValues(); + String packageName = getConfiguration().getProperty(PROP_DEFAULT_PACKAGE); + augmentsReferences(allWithAbstract, packageName); augmentsTagValues(model, all, observeTagValues); consolidateModel(model, all, observeTagValues, getLog()); augmentsTagValuesFinal(model, all, observeTagValues); @@ -87,6 +92,20 @@ public abstract class DtoMetaTransformer extends AbstractMetaTransformer<ObjectM } } } + protected void augmentsReferences(BeanTransformerContext all, String packageName) { + for (ObjectModelClass aClass : all.selectedClasses) { + for (ObjectModelAttribute attribute : aClass.getAttributes()) { + String attributeType = attribute.getType(); + if (!attributeType.startsWith(packageName) && attributeType.endsWith("Reference")) { + // add full package + String newValue = packageName + "." + attributeType; + getLog().info(String.format("Augments reference attribute value %s.%s=%s", aClass.getQualifiedName(),attribute.getName(), newValue)); + ((ObjectModelAttributeImpl)attribute).setType(newValue); + + } + } + } + } protected void augmentsTagValuesFinal(ObjectModel model, BeanTransformerContext all, ObserveTagValues observeTagValues) { for (ObjectModelClass aClass : all.selectedClasses) { View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/0d7934bbffce9c899793579bd… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/0d7934bbffce9c899793579bd… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop] Introduce DtoMetaTransformer to augments dto model (this is a first step, we...
by Tony CHEMIT 24 Jan '21

24 Jan '21
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: 8d709c05 by Tony Chemit at 2021-01-24T18:44:30+01:00 Introduce DtoMetaTransformer to augments dto model (this is a first step, we will later improve it to minimize as much as possible stuff to write in models) Rename FloatingObect sub dto to respect convention over configuration on ContainerDto. - - - - - 30 changed files: - client/datasource/editor/ps/src/main/capabilities/fr/ird/observe/client/datasource/editor/ps/data/observation/FloatingObjectUI.capabilities - client/datasource/editor/ps/src/main/i18n/getters/navigation.getter - + client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/FloatingObjectObjectObservedSpeciesUI.jaxx - + client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/FloatingObjectObjectSchoolEstimateUI.jaxx - client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/FloatingObjectSchoolEstimateUIModelStates.java → client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/FloatingObjectObjectSchoolEstimateUIModelStates.java - − client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/FloatingObjectObservedSpeciesUI.jaxx - − client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/FloatingObjectSchoolEstimateUI.jaxx - client/datasource/editor/ps/src/main/resources/fr/ird/observe/client/datasource/editor/ps/data/observation/FloatingObjectObservedSpeciesUINavigationNode.scope → client/datasource/editor/ps/src/main/resources/fr/ird/observe/client/datasource/editor/ps/data/observation/FloatingObjectObjectObservedSpeciesUINavigationNode.scope - client/datasource/editor/ps/src/main/resources/fr/ird/observe/client/datasource/editor/ps/data/observation/FloatingObjectSchoolEstimateUINavigationNode.scope → client/datasource/editor/ps/src/main/resources/fr/ird/observe/client/datasource/editor/ps/data/observation/FloatingObjectObjectSchoolEstimateUINavigationNode.scope - client/datasource/editor/ps/src/main/resources/icons/navigation/default/ps/data/observation/FloatingObjectObservedSpecies_16x16.png → client/datasource/editor/ps/src/main/resources/icons/navigation/default/ps/data/observation/FloatingObjectObjectObservedSpecies_16x16.png - client/datasource/editor/ps/src/main/resources/icons/navigation/default/ps/data/observation/FloatingObjectObservedSpecies_24x24.png → client/datasource/editor/ps/src/main/resources/icons/navigation/default/ps/data/observation/FloatingObjectObjectObservedSpecies_24x24.png - client/datasource/editor/ps/src/main/resources/icons/navigation/default/ps/data/observation/FloatingObjectSchoolEstimate_16x16.png → client/datasource/editor/ps/src/main/resources/icons/navigation/default/ps/data/observation/FloatingObjectObjectSchoolEstimate_16x16.png - client/datasource/editor/ps/src/main/resources/icons/navigation/default/ps/data/observation/FloatingObjectSchoolEstimate_24x24.png → client/datasource/editor/ps/src/main/resources/icons/navigation/default/ps/data/observation/FloatingObjectObjectSchoolEstimate_24x24.png - client/datasource/editor/ps/src/main/resources/observe-ui-navigation-ps.properties - client/datasource/editor/ps/src/test/java/fr/ird/observe/client/datasource/editor/ps/PsNavigationTreeNodeTest.java - client/i18n/src/main/i18n/translations/observe_en_GB.properties - client/i18n/src/main/i18n/translations/observe_es_ES.properties - client/i18n/src/main/i18n/translations/observe_fr_FR.properties - models/dto-definition/src/main/models/Observe-20-data-ps-observation.model - models/dto-definition/src/main/models/Observe-25-data-ps.model - models/dto-definition/src/main/models/Observe-30-data-ll-observation.model - models/dto-definition/src/main/models/Observe-31-data-ll-logbook.model - models/dto-definition/src/main/models/Observe-35-data-ll.model - models/dto/src/main/java/fr/ird/observe/dto/decoration/init/DataPsObservationModelDecoratorInitializer.java - + models/dto/src/test/java/fr/ird/observe/spi/mapping/ObserveDtoToFormDtoMappingTest.java - + models/dto/src/test/java/fr/ird/observe/spi/mapping/ObserveDtoToMainDtoDtoMappingTest.java - server/core/src/main/filtered-resources/mapping - + toolkit/templates/src/main/java/fr/ird/observe/toolkit/templates/DtoMetaTransformer.java - toolkit/templates/src/main/java/fr/ird/observe/toolkit/templates/GenerateDto.java - toolkit/templates/src/main/java/fr/ird/observe/toolkit/templates/GenerateServiceApi.java The diff was not included because it is too large. View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/8d709c05a48605073337d70fd… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/8d709c05a48605073337d70fd… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop] 4 commits: * Sanitize service API and Local API
by Tony CHEMIT 23 Jan '21

23 Jan '21
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: 77caeba3 by Tony Chemit at 2021-01-23T16:44:16+01:00 * Sanitize service API and Local API * Align it to DataDto type * Make neutral ObserveServiceLocal - - - - - 20c9f26c by Tony Chemit at 2021-01-23T16:44:16+01:00 * Align UI to DataDto type * Simplify UI code (add more method final) - - - - - 71d00f50 by Tony Chemit at 2021-01-23T16:44:16+01:00 Put config color in UIManager - - - - - 1e6f7ff2 by Tony Chemit at 2021-01-23T16:44:16+01:00 Use now config color in navigation tree - - - - - 30 changed files: - client/configuration/src/main/java/fr/ird/observe/client/configuration/ClientConfig.java - client/core/src/main/java/fr/ird/observe/client/ClientUIContext.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/create/CreateNewEditable.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/TripUI.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/TripUIHelper.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/edit/ContentEditUI.jaxx - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/edit/ContentEditUIHandler.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/edit/ContentEditUIModel.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/edit/ContentEditUIModelStates.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/edit/ContentEditUINavigationHandler.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/edit/ContentEditUIOpenExecutor.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/edit/actions/ContentEditUIActionSupport.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/edit/actions/DeleteEdit.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/edit/actions/MoveEdit.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/edit/actions/SaveContentEditUIAdapter.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/list/ContentListUINavigationHandler.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/open/ContentOpenableUI.jaxx - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/open/ContentOpenableUIHandler.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/open/ContentOpenableUIModel.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/open/ContentOpenableUIModelStates.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/open/ContentOpenableUINavigationHandler.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/open/ContentOpenableUIOpenExecutor.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/open/actions/ContentOpenableUIActionSupport.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/open/actions/DeleteOpenable.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/open/actions/MoveOpenable.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/open/actions/SaveContentOpenableUIAdapter.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/sample/SampleContentTableUIModelStates.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/simple/ContentSimpleUI.jaxx - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/simple/ContentSimpleUIHandler.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/simple/ContentSimpleUIModel.java The diff was not included because it is too large. View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/0236db7eccb7fd0421bd5530… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/0236db7eccb7fd0421bd5530… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop] 4 commits: Fix SampleDataServiceLocalSupport (call twice binder to entity)
by Tony CHEMIT 23 Jan '21

23 Jan '21
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: 51347b1d by Tony Chemit at 2021-01-23T15:34:32+01:00 Fix SampleDataServiceLocalSupport (call twice binder to entity) - - - - - 4067895f by Tony Chemit at 2021-01-23T15:34:47+01:00 Put config color in UIManager - - - - - 479c83f0 by Tony Chemit at 2021-01-23T15:34:59+01:00 Use now config color in bavigation tree - - - - - 0236db7e by Tony Chemit at 2021-01-23T15:36:20+01:00 remove unused code - - - - - 5 changed files: - client/configuration/src/main/java/fr/ird/observe/client/configuration/ClientConfig.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/table/ContentTableUINavigationHandler.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/table/ContentTableUINavigationInitializer.java - services/local-impl/src/main/java/fr/ird/observe/services/local/service/data/ContainerDataServiceLocalSupport.java - services/local-impl/src/main/java/fr/ird/observe/services/local/service/data/ps/observation/SampleDataServiceLocalSupport.java Changes: ===================================== client/configuration/src/main/java/fr/ird/observe/client/configuration/ClientConfig.java ===================================== @@ -814,8 +814,17 @@ public class ClientConfig extends GeneratedClientConfig implements TripMapConfig loadUIConfigFile(ObserveClientResourceManager.Resource.ui_navigation_common, dir); loadUIConfigFile(ObserveClientResourceManager.Resource.ui_navigation_ps, dir); loadUIConfigFile(ObserveClientResourceManager.Resource.ui_navigation_ll, dir); - UIManager.getDefaults().put("BlockingLayerUI.busyColor", getBusyStateColor()); - UIManager.getDefaults().put("BlockingLayerUI.blockColor", getBlockStateColor()); + UIDefaults defaults = UIManager.getDefaults(); + defaults.put("BlockingLayerUI.busyColor", getBusyStateColor()); + defaults.put("BlockingLayerUI.blockColor", getBlockStateColor()); + for (ClientConfigOption option : ClientConfigOption.values()) { + if (option.getType()==Color.class) { + String key = option.getKey(); + Color color = get().getOptionAsColor(key); + log.info(String.format("Register color: %s → %s", key,color)); + defaults.put(key, color); + } + } } ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/table/ContentTableUINavigationHandler.java ===================================== @@ -25,6 +25,7 @@ package fr.ird.observe.client.datasource.editor.api.content.data.table; import fr.ird.observe.client.datasource.editor.api.content.ContentMode; import fr.ird.observe.client.datasource.editor.api.navigation.tree.NavigationHandler; +import javax.swing.UIManager; import java.awt.Color; import java.util.Objects; @@ -38,6 +39,8 @@ public abstract class ContentTableUINavigationHandler<N extends ContentTableUINa private final N node; + private Color disabledColor; + private Color emptyColor; public ContentTableUINavigationHandler(N node) { this.node = Objects.requireNonNull(node); } @@ -48,7 +51,10 @@ public abstract class ContentTableUINavigationHandler<N extends ContentTableUINa @Override public Color getColor() { if (!getNode().getInitializer().isShowData()) { - return Color.GRAY; + return getDisabledColor(); + } + if (getNode().getInitializer().isEmpty()) { + return getEmptyColor(); } return super.getColor(); } @@ -75,4 +81,18 @@ public abstract class ContentTableUINavigationHandler<N extends ContentTableUINa } return node.getParent().getHandler().getContentMode(); } + + public Color getDisabledColor() { + if (disabledColor==null) { + disabledColor = UIManager.getColor("ui.tree.node.disabled.color"); + } + return disabledColor; + } + + public Color getEmptyColor() { + if (emptyColor==null) { + emptyColor = UIManager.getColor("ui.tree.node.empty.color"); + } + return emptyColor; + } } ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/table/ContentTableUINavigationInitializer.java ===================================== @@ -44,6 +44,7 @@ public class ContentTableUINavigationInitializer extends NavigationInitializer<C private DtoReference parentReference; private SingletonSupplier<Boolean> showData; + private SingletonSupplier<Boolean> empty; public static <D extends IdDto> boolean isEnabled(D bean, Class<? extends IdDto> dtoType) { Stream<JavaBeanPropertyDefinition<?, ?>> properties = bean.javaBeanDefinition().readProperties(); @@ -56,6 +57,17 @@ public class ContentTableUINavigationInitializer extends NavigationInitializer<C return true; } + public static <D extends IdDto> boolean isEmpty(D bean, Class<? extends IdDto> dtoType) { + Stream<JavaBeanPropertyDefinition<?, ?>> properties = bean.javaBeanDefinition().readProperties(); + String propertyNameCandidate = Introspector.decapitalize(dtoType.getSimpleName()) + .replace("Dto", "Empty") + .replace("Reference", "Empty"); + if (properties.anyMatch(p -> propertyNameCandidate.equals(p.propertyName()))) { + return bean.get(propertyNameCandidate); + } + return false; + } + public ContentTableUINavigationInitializer(NavigationScope scope, DtoReference parentReference) { super(scope); this.parentReference = Objects.requireNonNull(parentReference); @@ -65,6 +77,7 @@ public class ContentTableUINavigationInitializer extends NavigationInitializer<C protected Object init(NavigationContext<ContentTableUINavigationContext> context) { context.initReference(parentReference); this.showData = SingletonSupplier.of(this::computeShowSata); + this.empty = SingletonSupplier.of(this::computeEmpty); return getScope().getMainType(); } @@ -72,6 +85,10 @@ public class ContentTableUINavigationInitializer extends NavigationInitializer<C return isEnabled(parentReference, getScope().getMainType()); } + protected boolean computeEmpty() { + return isEmpty(parentReference, getScope().getMainType()); + } + @Override protected void open(NavigationContext<ContentTableUINavigationContext> context) { showData.clear(); @@ -94,6 +111,10 @@ public class ContentTableUINavigationInitializer extends NavigationInitializer<C return showData.get(); } + public boolean isEmpty() { + return empty.get(); + } + @Override public String toString() { ===================================== services/local-impl/src/main/java/fr/ird/observe/services/local/service/data/ContainerDataServiceLocalSupport.java ===================================== @@ -76,10 +76,6 @@ public class ContainerDataServiceLocalSupport<PE extends DataEntity<?, ?>, D ext return saveEntity(parentSpi, spi, entity, saveCallback); } - protected E newEntity() { - return spi.newEntity(now()); - } - protected PE loadOrCreateEntityFromDto(M dto) { return mainSpi.loadOrCreateEntityFromDto(getApplicationLocale(), getTopiaPersistenceContext(), dto); } @@ -92,10 +88,6 @@ public class ContainerDataServiceLocalSupport<PE extends DataEntity<?, ?>, D ext return parentSpi.loadEntity(getApplicationLocale(), getTopiaPersistenceContext(), parenId); } -// protected E loadSimpleEntity(String id) { -// return spi.loadEntity(getApplicationLocale(), getTopiaPersistenceContext(), id); -// } - } ===================================== services/local-impl/src/main/java/fr/ird/observe/services/local/service/data/ps/observation/SampleDataServiceLocalSupport.java ===================================== @@ -61,8 +61,6 @@ public abstract class SampleDataServiceLocalSupport<C extends ContainerChildDto, public SaveResultDto save(M dto) { Set parent = getParent(dto); E entity = loadOrCreateEntityFromDto(parent, dto); - checkLastUpdateDate(entity, dto); - entity.fromDto(getReferentialLocale(), dto); return onSave(parent, entity, dto); } @@ -82,6 +80,7 @@ public abstract class SampleDataServiceLocalSupport<C extends ContainerChildDto, protected final E loadOrCreateEntityFromDto(Set parent, M dto) { dto.setId(null); E entity = loadFormEntity(parent); + checkLastUpdateDate(entity, dto); entity.fromDto(getReferentialLocale(), dto); dto.setId(entity.getTopiaId()); return entity; View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/5f427e5b57f6ba0f3e15da24… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/5f427e5b57f6ba0f3e15da24… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop] 3 commits: Use now containerDto (make us remove a lots of code we now generate)
by Tony CHEMIT 23 Jan '21

23 Jan '21
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: 54ba847a by Tony Chemit at 2021-01-23T09:46:55+01:00 Use now containerDto (make us remove a lots of code we now generate) - - - - - 710dbd23 by Tony Chemit at 2021-01-23T13:16:38+01:00 * Sanitize service API and Local API * Align it to DataDto type * Make neutral ObserveServiceLocal - - - - - 5f427e5b by Tony Chemit at 2021-01-23T14:43:14+01:00 * Align UI to DataDto type * Simplify UI code (add more method final) - - - - - 30 changed files: - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/create/CreateNewEditable.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/TripUI.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/TripUIHelper.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/edit/ContentEditUI.jaxx - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/edit/ContentEditUIHandler.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/edit/ContentEditUIModel.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/edit/ContentEditUIModelStates.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/edit/ContentEditUIOpenExecutor.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/edit/actions/ContentEditUIActionSupport.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/edit/actions/DeleteEdit.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/edit/actions/MoveEdit.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/edit/actions/SaveContentEditUIAdapter.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/open/ContentOpenableUI.jaxx - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/open/ContentOpenableUIHandler.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/open/ContentOpenableUIModel.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/open/ContentOpenableUIModelStates.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/open/ContentOpenableUIOpenExecutor.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/open/actions/ContentOpenableUIActionSupport.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/open/actions/DeleteOpenable.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/open/actions/MoveOpenable.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/open/actions/SaveContentOpenableUIAdapter.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/sample/SampleContentTableUIModelStates.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/simple/ContentSimpleUI.jaxx - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/simple/ContentSimpleUIHandler.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/simple/ContentSimpleUIModel.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/simple/ContentSimpleUIModelStates.java - + client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/simple/ContentSimpleUIModelStatesSupport.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/simple/ContentSimpleUIModelSupport.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/simple/ContentSimpleUIOpenExecutor.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/simple/actions/SaveContentSimpleUIAdapter.java The diff was not included because it is too large. View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/cf3e58bbff28dbc729c34fa7… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/cf3e58bbff28dbc729c34fa7… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop] Problème de sauvegarde libération espèce sensible - Closes #1771
by Tony CHEMIT 22 Jan '21

22 Jan '21
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: cf3e58bb by Tony Chemit at 2021-01-22T15:02:47+01:00 Problème de sauvegarde libération espèce sensible - Closes #1771 - - - - - 15 changed files: - services/local-impl/src/main/java/fr/ird/observe/services/local/service/data/SimpleDataServiceLocalSupport.java → services/local-impl/src/main/java/fr/ird/observe/services/local/service/data/ContainerDataServiceLocalSupport.java - services/local-impl/src/main/java/fr/ird/observe/services/local/service/data/ll/common/TripGearUseFeaturesServiceLocalSupport.java - services/local-impl/src/main/java/fr/ird/observe/services/local/service/data/ll/logbook/SetCatchServiceLocalSupport.java - services/local-impl/src/main/java/fr/ird/observe/services/local/service/data/ll/observation/ActivityEncounterServiceLocalSupport.java - services/local-impl/src/main/java/fr/ird/observe/services/local/service/data/ll/observation/ActivitySensorUsedServiceLocalSupport.java - services/local-impl/src/main/java/fr/ird/observe/services/local/service/data/ll/observation/SetCatchServiceLocalSupport.java - services/local-impl/src/main/java/fr/ird/observe/services/local/service/data/ll/observation/SetTdrServiceLocalSupport.java - services/local-impl/src/main/java/fr/ird/observe/services/local/service/data/ps/common/TripGearUseFeaturesServiceLocalSupport.java - services/local-impl/src/main/java/fr/ird/observe/services/local/service/data/ps/observation/FloatingObjectObservedSpeciesServiceLocalSupport.java - services/local-impl/src/main/java/fr/ird/observe/services/local/service/data/ps/observation/FloatingObjectSchoolEstimateServiceLocalSupport.java - services/local-impl/src/main/java/fr/ird/observe/services/local/service/data/ps/observation/SetDiscardedTargetCatchServiceLocalSupport.java - services/local-impl/src/main/java/fr/ird/observe/services/local/service/data/ps/observation/SetKeptTargetCatchServiceLocalSupport.java - services/local-impl/src/main/java/fr/ird/observe/services/local/service/data/ps/observation/SetNonTargetCatchReleaseServiceLocalSupport.java - services/local-impl/src/main/java/fr/ird/observe/services/local/service/data/ps/observation/SetNonTargetCatchServiceLocalSupport.java - services/local-impl/src/main/java/fr/ird/observe/services/local/service/data/ps/observation/SetSchoolEstimateServiceLocalSupport.java Changes: ===================================== services/local-impl/src/main/java/fr/ird/observe/services/local/service/data/SimpleDataServiceLocalSupport.java → services/local-impl/src/main/java/fr/ird/observe/services/local/service/data/ContainerDataServiceLocalSupport.java ===================================== @@ -40,18 +40,18 @@ import java.util.function.BiConsumer; * @author Tony Chemit - dev(a)tchemit.fr * @since 8.0.1 */ -public class SimpleDataServiceLocalSupport<PE extends DataEntity<?, ?>, M extends DataDto, D extends DataDto, E extends DataEntity<?, ?>> extends ObserveServiceLocal implements SimpleDataService<M> { +public class ContainerDataServiceLocalSupport<PE extends DataEntity<?, ?>, M extends DataDto, D extends DataDto, E extends DataEntity<?, ?>> extends ObserveServiceLocal implements SimpleDataService<M> { protected final DataDtoEntityContext<?, ?, PE, ?> parentSpi; protected final DataDtoEntityContext<M, ?, PE, ?> mainSpi; protected final DataDtoEntityContext<D, ?, E, ?> spi; protected final BiConsumer<PE, Date> saveCallback; - protected SimpleDataServiceLocalSupport(DataDtoEntityContext<?, ?, PE, ?> parentSpi, DataDtoEntityContext<M, ?, PE, ?> mainSpi, DataDtoEntityContext<D, ?, E, ?> spi) { + protected ContainerDataServiceLocalSupport(DataDtoEntityContext<?, ?, PE, ?> parentSpi, DataDtoEntityContext<M, ?, PE, ?> mainSpi, DataDtoEntityContext<D, ?, E, ?> spi) { this(parentSpi, mainSpi, spi, null); } - protected SimpleDataServiceLocalSupport(DataDtoEntityContext<?, ?, PE, ?> parentSpi, DataDtoEntityContext<M, ?, PE, ?> mainSpi, DataDtoEntityContext<D, ?, E, ?> spi, BiConsumer<PE, Date> saveCallback) { + protected ContainerDataServiceLocalSupport(DataDtoEntityContext<?, ?, PE, ?> parentSpi, DataDtoEntityContext<M, ?, PE, ?> mainSpi, DataDtoEntityContext<D, ?, E, ?> spi, BiConsumer<PE, Date> saveCallback) { this.parentSpi = Objects.requireNonNull(parentSpi); this.mainSpi = Objects.requireNonNull(mainSpi); this.spi = Objects.requireNonNull(spi); ===================================== services/local-impl/src/main/java/fr/ird/observe/services/local/service/data/ll/common/TripGearUseFeaturesServiceLocalSupport.java ===================================== @@ -26,13 +26,13 @@ import fr.ird.observe.dto.data.ll.common.GearUseFeaturesDto; import fr.ird.observe.dto.data.ll.common.TripGearUseFeaturesDto; import fr.ird.observe.entities.data.ll.common.GearUseFeatures; import fr.ird.observe.entities.data.ll.common.Trip; -import fr.ird.observe.services.local.service.data.SimpleDataServiceLocalSupport; +import fr.ird.observe.services.local.service.data.ContainerDataServiceLocalSupport; import fr.ird.observe.services.service.data.ll.common.TripGearUseFeaturesService; /** * @author Tony Chemit - dev(a)tchemit.fr */ -class TripGearUseFeaturesServiceLocalSupport extends SimpleDataServiceLocalSupport<Trip, TripGearUseFeaturesDto, GearUseFeaturesDto, GearUseFeatures> implements TripGearUseFeaturesService { +class TripGearUseFeaturesServiceLocalSupport extends ContainerDataServiceLocalSupport<Trip, TripGearUseFeaturesDto, GearUseFeaturesDto, GearUseFeatures> implements TripGearUseFeaturesService { public TripGearUseFeaturesServiceLocalSupport() { super(Trip.SPI, Trip.TRIP_GEAR_USE_FEATURES_SPI, GearUseFeatures.SPI, ===================================== services/local-impl/src/main/java/fr/ird/observe/services/local/service/data/ll/logbook/SetCatchServiceLocalSupport.java ===================================== @@ -26,13 +26,13 @@ import fr.ird.observe.dto.data.ll.logbook.CatchDto; import fr.ird.observe.dto.data.ll.logbook.SetCatchDto; import fr.ird.observe.entities.data.ll.logbook.Catch; import fr.ird.observe.entities.data.ll.logbook.Set; -import fr.ird.observe.services.local.service.data.SimpleDataServiceLocalSupport; +import fr.ird.observe.services.local.service.data.ContainerDataServiceLocalSupport; import fr.ird.observe.services.service.data.ll.logbook.SetCatchService; /** * @author Tony Chemit - dev(a)tchemit.fr */ -class SetCatchServiceLocalSupport extends SimpleDataServiceLocalSupport<Set, SetCatchDto, CatchDto, Catch> implements SetCatchService { +class SetCatchServiceLocalSupport extends ContainerDataServiceLocalSupport<Set, SetCatchDto, CatchDto, Catch> implements SetCatchService { public SetCatchServiceLocalSupport() { super(Set.SPI, Set.SET_CATCH_SPI, Catch.SPI); ===================================== services/local-impl/src/main/java/fr/ird/observe/services/local/service/data/ll/observation/ActivityEncounterServiceLocalSupport.java ===================================== @@ -26,7 +26,7 @@ import fr.ird.observe.dto.data.ll.observation.ActivityEncounterDto; import fr.ird.observe.dto.data.ll.observation.EncounterDto; import fr.ird.observe.entities.data.ll.observation.Activity; import fr.ird.observe.entities.data.ll.observation.Encounter; -import fr.ird.observe.services.local.service.data.SimpleDataServiceLocalSupport; +import fr.ird.observe.services.local.service.data.ContainerDataServiceLocalSupport; import fr.ird.observe.services.service.data.ll.observation.ActivityEncounterService; /** @@ -34,7 +34,7 @@ import fr.ird.observe.services.service.data.ll.observation.ActivityEncounterServ * * @author Tony Chemit - dev(a)tchemit.fr */ -class ActivityEncounterServiceLocalSupport extends SimpleDataServiceLocalSupport<Activity, ActivityEncounterDto, EncounterDto, Encounter> implements ActivityEncounterService { +class ActivityEncounterServiceLocalSupport extends ContainerDataServiceLocalSupport<Activity, ActivityEncounterDto, EncounterDto, Encounter> implements ActivityEncounterService { public ActivityEncounterServiceLocalSupport() { super(Activity.SPI, Activity.ACTIVITY_ENCOUNTER_SPI, Encounter.SPI); ===================================== services/local-impl/src/main/java/fr/ird/observe/services/local/service/data/ll/observation/ActivitySensorUsedServiceLocalSupport.java ===================================== @@ -26,7 +26,7 @@ import fr.ird.observe.dto.data.ll.observation.ActivitySensorUsedDto; import fr.ird.observe.dto.data.ll.observation.SensorUsedDto; import fr.ird.observe.entities.data.ll.observation.Activity; import fr.ird.observe.entities.data.ll.observation.SensorUsed; -import fr.ird.observe.services.local.service.data.SimpleDataServiceLocalSupport; +import fr.ird.observe.services.local.service.data.ContainerDataServiceLocalSupport; import fr.ird.observe.services.service.data.ll.observation.ActivitySensorUsedService; /** @@ -34,7 +34,7 @@ import fr.ird.observe.services.service.data.ll.observation.ActivitySensorUsedSer * * @author Tony Chemit - dev(a)tchemit.fr */ -class ActivitySensorUsedServiceLocalSupport extends SimpleDataServiceLocalSupport<Activity, ActivitySensorUsedDto, SensorUsedDto, SensorUsed> implements ActivitySensorUsedService { +class ActivitySensorUsedServiceLocalSupport extends ContainerDataServiceLocalSupport<Activity, ActivitySensorUsedDto, SensorUsedDto, SensorUsed> implements ActivitySensorUsedService { public ActivitySensorUsedServiceLocalSupport() { super(Activity.SPI, Activity.ACTIVITY_SENSOR_USED_SPI, SensorUsed.SPI); ===================================== services/local-impl/src/main/java/fr/ird/observe/services/local/service/data/ll/observation/SetCatchServiceLocalSupport.java ===================================== @@ -26,7 +26,7 @@ import fr.ird.observe.dto.data.ll.observation.CatchDto; import fr.ird.observe.dto.data.ll.observation.SetCatchDto; import fr.ird.observe.entities.data.ll.observation.Catch; import fr.ird.observe.entities.data.ll.observation.Set; -import fr.ird.observe.services.local.service.data.SimpleDataServiceLocalSupport; +import fr.ird.observe.services.local.service.data.ContainerDataServiceLocalSupport; import fr.ird.observe.services.service.data.ll.observation.SetCatchService; /** @@ -34,7 +34,7 @@ import fr.ird.observe.services.service.data.ll.observation.SetCatchService; * * @author Tony Chemit - dev(a)tchemit.fr */ -class SetCatchServiceLocalSupport extends SimpleDataServiceLocalSupport<Set, SetCatchDto, CatchDto, Catch> implements SetCatchService { +class SetCatchServiceLocalSupport extends ContainerDataServiceLocalSupport<Set, SetCatchDto, CatchDto, Catch> implements SetCatchService { public SetCatchServiceLocalSupport() { super(Set.SPI, Set.SET_CATCH_SPI, Catch.SPI); ===================================== services/local-impl/src/main/java/fr/ird/observe/services/local/service/data/ll/observation/SetTdrServiceLocalSupport.java ===================================== @@ -26,7 +26,7 @@ import fr.ird.observe.dto.data.ll.observation.SetTdrDto; import fr.ird.observe.dto.data.ll.observation.TdrDto; import fr.ird.observe.entities.data.ll.observation.Set; import fr.ird.observe.entities.data.ll.observation.Tdr; -import fr.ird.observe.services.local.service.data.SimpleDataServiceLocalSupport; +import fr.ird.observe.services.local.service.data.ContainerDataServiceLocalSupport; import fr.ird.observe.services.service.data.ll.observation.SetTdrService; /** @@ -34,7 +34,7 @@ import fr.ird.observe.services.service.data.ll.observation.SetTdrService; * * @author Tony Chemit - dev(a)tchemit.fr */ -class SetTdrServiceLocalSupport extends SimpleDataServiceLocalSupport<Set, SetTdrDto, TdrDto, Tdr> implements SetTdrService { +class SetTdrServiceLocalSupport extends ContainerDataServiceLocalSupport<Set, SetTdrDto, TdrDto, Tdr> implements SetTdrService { public SetTdrServiceLocalSupport() { super(Set.SPI, Set.SET_TDR_SPI, Tdr.SPI); ===================================== services/local-impl/src/main/java/fr/ird/observe/services/local/service/data/ps/common/TripGearUseFeaturesServiceLocalSupport.java ===================================== @@ -26,13 +26,13 @@ import fr.ird.observe.dto.data.ps.common.GearUseFeaturesDto; import fr.ird.observe.dto.data.ps.common.TripGearUseFeaturesDto; import fr.ird.observe.entities.data.ps.common.GearUseFeatures; import fr.ird.observe.entities.data.ps.common.Trip; -import fr.ird.observe.services.local.service.data.SimpleDataServiceLocalSupport; +import fr.ird.observe.services.local.service.data.ContainerDataServiceLocalSupport; import fr.ird.observe.services.service.data.ps.common.TripGearUseFeaturesService; /** * @author Tony Chemit - dev(a)tchemit.fr */ -class TripGearUseFeaturesServiceLocalSupport extends SimpleDataServiceLocalSupport<Trip, TripGearUseFeaturesDto, GearUseFeaturesDto, GearUseFeatures> implements TripGearUseFeaturesService { +class TripGearUseFeaturesServiceLocalSupport extends ContainerDataServiceLocalSupport<Trip, TripGearUseFeaturesDto, GearUseFeaturesDto, GearUseFeatures> implements TripGearUseFeaturesService { public TripGearUseFeaturesServiceLocalSupport() { super(Trip.SPI, Trip.TRIP_GEAR_USE_FEATURES_SPI, GearUseFeatures.SPI, ===================================== services/local-impl/src/main/java/fr/ird/observe/services/local/service/data/ps/observation/FloatingObjectObservedSpeciesServiceLocalSupport.java ===================================== @@ -26,7 +26,7 @@ import fr.ird.observe.dto.data.ps.observation.FloatingObjectObservedSpeciesDto; import fr.ird.observe.dto.data.ps.observation.ObjectObservedSpeciesDto; import fr.ird.observe.entities.data.ps.observation.FloatingObject; import fr.ird.observe.entities.data.ps.observation.ObjectObservedSpecies; -import fr.ird.observe.services.local.service.data.SimpleDataServiceLocalSupport; +import fr.ird.observe.services.local.service.data.ContainerDataServiceLocalSupport; import fr.ird.observe.services.service.data.ps.observation.FloatingObjectObservedSpeciesService; /** @@ -34,7 +34,7 @@ import fr.ird.observe.services.service.data.ps.observation.FloatingObjectObserve * * @author Tony Chemit - dev(a)tchemit.fr */ -class FloatingObjectObservedSpeciesServiceLocalSupport extends SimpleDataServiceLocalSupport<FloatingObject, FloatingObjectObservedSpeciesDto, ObjectObservedSpeciesDto, ObjectObservedSpecies> implements FloatingObjectObservedSpeciesService { +class FloatingObjectObservedSpeciesServiceLocalSupport extends ContainerDataServiceLocalSupport<FloatingObject, FloatingObjectObservedSpeciesDto, ObjectObservedSpeciesDto, ObjectObservedSpecies> implements FloatingObjectObservedSpeciesService { public FloatingObjectObservedSpeciesServiceLocalSupport() { super(FloatingObject.SPI, FloatingObject.FLOATING_OBJECT_OBSERVED_SPECIES_SPI, ObjectObservedSpecies.SPI); ===================================== services/local-impl/src/main/java/fr/ird/observe/services/local/service/data/ps/observation/FloatingObjectSchoolEstimateServiceLocalSupport.java ===================================== @@ -26,7 +26,7 @@ import fr.ird.observe.dto.data.ps.observation.FloatingObjectSchoolEstimateDto; import fr.ird.observe.dto.data.ps.observation.ObjectSchoolEstimateDto; import fr.ird.observe.entities.data.ps.observation.FloatingObject; import fr.ird.observe.entities.data.ps.observation.ObjectSchoolEstimate; -import fr.ird.observe.services.local.service.data.SimpleDataServiceLocalSupport; +import fr.ird.observe.services.local.service.data.ContainerDataServiceLocalSupport; import fr.ird.observe.services.service.data.ps.observation.FloatingObjectSchoolEstimateService; /** @@ -34,7 +34,7 @@ import fr.ird.observe.services.service.data.ps.observation.FloatingObjectSchoolE * * @author Tony Chemit - dev(a)tchemit.fr */ -class FloatingObjectSchoolEstimateServiceLocalSupport extends SimpleDataServiceLocalSupport<FloatingObject, FloatingObjectSchoolEstimateDto, ObjectSchoolEstimateDto, ObjectSchoolEstimate> implements FloatingObjectSchoolEstimateService { +class FloatingObjectSchoolEstimateServiceLocalSupport extends ContainerDataServiceLocalSupport<FloatingObject, FloatingObjectSchoolEstimateDto, ObjectSchoolEstimateDto, ObjectSchoolEstimate> implements FloatingObjectSchoolEstimateService { public FloatingObjectSchoolEstimateServiceLocalSupport() { super(FloatingObject.SPI, FloatingObject.FLOATING_OBJECT_SCHOOL_ESTIMATE_SPI, ObjectSchoolEstimate.SPI); ===================================== services/local-impl/src/main/java/fr/ird/observe/services/local/service/data/ps/observation/SetDiscardedTargetCatchServiceLocalSupport.java ===================================== @@ -26,7 +26,7 @@ import fr.ird.observe.dto.data.ps.observation.DiscardedTargetCatchDto; import fr.ird.observe.dto.data.ps.observation.SetDiscardedTargetCatchDto; import fr.ird.observe.entities.data.ps.observation.Set; import fr.ird.observe.entities.data.ps.observation.TargetCatch; -import fr.ird.observe.services.local.service.data.SimpleDataServiceLocalSupport; +import fr.ird.observe.services.local.service.data.ContainerDataServiceLocalSupport; import fr.ird.observe.services.service.data.ps.observation.SetDiscardedTargetCatchService; /** @@ -36,7 +36,7 @@ import fr.ird.observe.services.service.data.ps.observation.SetDiscardedTargetCat * @author Tony Chemit - dev(a)tchemit.fr * @since 8.0.1 */ -class SetDiscardedTargetCatchServiceLocalSupport extends SimpleDataServiceLocalSupport<Set, SetDiscardedTargetCatchDto, DiscardedTargetCatchDto, TargetCatch> implements SetDiscardedTargetCatchService { +class SetDiscardedTargetCatchServiceLocalSupport extends ContainerDataServiceLocalSupport<Set, SetDiscardedTargetCatchDto, DiscardedTargetCatchDto, TargetCatch> implements SetDiscardedTargetCatchService { public SetDiscardedTargetCatchServiceLocalSupport() { super(Set.SPI, Set.SET_DISCARDED_TARGET_CATCH_SPI, TargetCatch.DISCARDED_TARGET_CATCH_SPI); ===================================== services/local-impl/src/main/java/fr/ird/observe/services/local/service/data/ps/observation/SetKeptTargetCatchServiceLocalSupport.java ===================================== @@ -26,7 +26,7 @@ import fr.ird.observe.dto.data.ps.observation.KeptTargetCatchDto; import fr.ird.observe.dto.data.ps.observation.SetKeptTargetCatchDto; import fr.ird.observe.entities.data.ps.observation.Set; import fr.ird.observe.entities.data.ps.observation.TargetCatch; -import fr.ird.observe.services.local.service.data.SimpleDataServiceLocalSupport; +import fr.ird.observe.services.local.service.data.ContainerDataServiceLocalSupport; import fr.ird.observe.services.service.data.ps.observation.SetKeptTargetCatchService; /** @@ -36,7 +36,7 @@ import fr.ird.observe.services.service.data.ps.observation.SetKeptTargetCatchSer * @author Tony Chemit - dev(a)tchemit.fr * @since 8.0.1 */ -class SetKeptTargetCatchServiceLocalSupport extends SimpleDataServiceLocalSupport<Set, SetKeptTargetCatchDto, KeptTargetCatchDto, TargetCatch> implements SetKeptTargetCatchService { +class SetKeptTargetCatchServiceLocalSupport extends ContainerDataServiceLocalSupport<Set, SetKeptTargetCatchDto, KeptTargetCatchDto, TargetCatch> implements SetKeptTargetCatchService { public SetKeptTargetCatchServiceLocalSupport() { super(Set.SPI, Set.SET_KEPT_TARGET_CATCH_SPI, TargetCatch.KEPT_TARGET_CATCH_SPI); ===================================== services/local-impl/src/main/java/fr/ird/observe/services/local/service/data/ps/observation/SetNonTargetCatchReleaseServiceLocalSupport.java ===================================== @@ -22,22 +22,19 @@ package fr.ird.observe.services.local.service.data.ps.observation; * #L% */ +import fr.ird.observe.dto.data.ps.observation.NonTargetCatchReleaseDto; import fr.ird.observe.dto.data.ps.observation.SetNonTargetCatchReleaseDto; +import fr.ird.observe.entities.data.ps.observation.NonTargetCatchRelease; import fr.ird.observe.entities.data.ps.observation.Set; -import fr.ird.observe.services.local.service.data.Simple4DataServiceLocalSupport; +import fr.ird.observe.services.local.service.data.ContainerDataServiceLocalSupport; import fr.ird.observe.services.service.data.ps.observation.SetNonTargetCatchReleaseService; /** * @author Tony Chemit - dev(a)tchemit.fr */ -class SetNonTargetCatchReleaseServiceLocalSupport extends Simple4DataServiceLocalSupport<Set, SetNonTargetCatchReleaseDto, Set> implements SetNonTargetCatchReleaseService { +class SetNonTargetCatchReleaseServiceLocalSupport extends ContainerDataServiceLocalSupport<Set, SetNonTargetCatchReleaseDto, NonTargetCatchReleaseDto, NonTargetCatchRelease> implements SetNonTargetCatchReleaseService { public SetNonTargetCatchReleaseServiceLocalSupport() { - super(Set.SPI, Set.SET_NON_TARGET_CATCH_RELEASE_SPI); - } - - @Override - protected Set loadFormEntity(Set parent) { - return parent; + super(Set.SPI, Set.SET_NON_TARGET_CATCH_RELEASE_SPI, NonTargetCatchRelease.SPI); } } ===================================== services/local-impl/src/main/java/fr/ird/observe/services/local/service/data/ps/observation/SetNonTargetCatchServiceLocalSupport.java ===================================== @@ -26,7 +26,7 @@ import fr.ird.observe.dto.data.ps.observation.NonTargetCatchDto; import fr.ird.observe.dto.data.ps.observation.SetNonTargetCatchDto; import fr.ird.observe.entities.data.ps.observation.NonTargetCatch; import fr.ird.observe.entities.data.ps.observation.Set; -import fr.ird.observe.services.local.service.data.SimpleDataServiceLocalSupport; +import fr.ird.observe.services.local.service.data.ContainerDataServiceLocalSupport; import fr.ird.observe.services.service.data.ps.observation.SetNonTargetCatchService; /** @@ -34,7 +34,7 @@ import fr.ird.observe.services.service.data.ps.observation.SetNonTargetCatchServ * * @author Tony Chemit - dev(a)tchemit.fr */ -class SetNonTargetCatchServiceLocalSupport extends SimpleDataServiceLocalSupport<Set, SetNonTargetCatchDto, NonTargetCatchDto, NonTargetCatch> implements SetNonTargetCatchService { +class SetNonTargetCatchServiceLocalSupport extends ContainerDataServiceLocalSupport<Set, SetNonTargetCatchDto, NonTargetCatchDto, NonTargetCatch> implements SetNonTargetCatchService { public SetNonTargetCatchServiceLocalSupport() { super(Set.SPI, Set.SET_NON_TARGET_CATCH_SPI, NonTargetCatch.SPI); ===================================== services/local-impl/src/main/java/fr/ird/observe/services/local/service/data/ps/observation/SetSchoolEstimateServiceLocalSupport.java ===================================== @@ -26,7 +26,7 @@ import fr.ird.observe.dto.data.ps.observation.SchoolEstimateDto; import fr.ird.observe.dto.data.ps.observation.SetSchoolEstimateDto; import fr.ird.observe.entities.data.ps.observation.SchoolEstimate; import fr.ird.observe.entities.data.ps.observation.Set; -import fr.ird.observe.services.local.service.data.SimpleDataServiceLocalSupport; +import fr.ird.observe.services.local.service.data.ContainerDataServiceLocalSupport; import fr.ird.observe.services.service.data.ps.observation.SetSchoolEstimateService; /** @@ -34,7 +34,7 @@ import fr.ird.observe.services.service.data.ps.observation.SetSchoolEstimateServ * * @author Tony Chemit - dev(a)tchemit.fr */ -class SetSchoolEstimateServiceLocalSupport extends SimpleDataServiceLocalSupport<Set, SetSchoolEstimateDto, SchoolEstimateDto, SchoolEstimate> implements SetSchoolEstimateService { +class SetSchoolEstimateServiceLocalSupport extends ContainerDataServiceLocalSupport<Set, SetSchoolEstimateDto, SchoolEstimateDto, SchoolEstimate> implements SetSchoolEstimateService { public SetSchoolEstimateServiceLocalSupport() { super(Set.SPI, Set.SET_SCHOOL_ESTIMATE_SPI, SchoolEstimate.SPI); View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/cf3e58bbff28dbc729c34fa71… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/cf3e58bbff28dbc729c34fa71… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][feature/1254] 12 commits: Suppression en cade des libérations de capture accessoire - Closes #1768
by Tony CHEMIT 22 Jan '21

22 Jan '21
Tony CHEMIT pushed to branch feature/1254 at ultreiaio / ird-observe Commits: e8ee529f by Tony Chemit at 2021-01-21T18:19:47+01:00 Suppression en cade des libérations de capture accessoire - Closes #1768 - - - - - 69257b76 by Tony Chemit at 2021-01-22T09:38:55+01:00 Micro bizarrerie sur le modèle 8.0 - Closes #1764 - - - - - e473bd86 by Tony Chemit at 2021-01-22T10:35:05+01:00 Disponibilité du sélecteur DMS / DMD / DD - Closes #1717 - - - - - f3977cee by Tony Chemit at 2021-01-22T10:54:34+01:00 Petit défaut d&#39;affichage d&#39;une liste à choix multiple - Closes #1770 - - - - - 65848f2e by Tony Chemit at 2021-01-22T10:54:54+01:00 Tailles d&#39;icônes différentes sur le même niveau de hiérarchie - Closes #1769 - - - - - 1f897757 by Tony Chemit at 2021-01-22T12:15:30+01:00 Suppression en cade des libérations de capture accessoire - See #1768 - - - - - fb4a04a9 by Tony Chemit at 2021-01-22T12:15:30+01:00 Suppression en cade des libérations de capture accessoire - See #1768 Pour le moment, aucun message sur le sujet et aucun traitement. - - - - - 02158bdf by Tony Chemit at 2021-01-22T12:15:30+01:00 Move to version 9.0.0-RC-1 - - - - - 89112369 by Tony Chemit at 2021-01-22T12:16:06+01:00 Suppression en cade des libérations de capture accessoire - See #1768 - - - - - 26b199bd by Tony Chemit at 2021-01-22T12:16:32+01:00 Réorganisation des données d’observation PS - Réorganisation des captures et échantillons de cible et bycatch observés - Closes #1254 - - - - - 5ef42b5e by Tony Chemit at 2021-01-22T12:16:32+01:00 Clean i18n and consolidate code - - - - - 643a9b56 by Tony Chemit at 2021-01-22T13:15:53+01:00 stash me over git me!!! - - - - - 30 changed files: - .mvn/pom.gitflow.develop - .mvn/pom.gitflow.master - client/.mvn/pom.gitflow.develop - client/.mvn/pom.gitflow.master - client/configuration/.mvn/pom.gitflow.develop - client/configuration/.mvn/pom.gitflow.master - client/configuration/pom.xml - client/configuration/src/main/config/Client.ini - client/configuration/src/main/i18n/getters/config.getter - client/core/.mvn/pom.gitflow.develop - client/core/.mvn/pom.gitflow.master - client/core/pom.xml - client/core/src/main/java/fr/ird/observe/client/main/body/ClientConfigUI.java - client/core/src/main/java/fr/ird/observe/client/main/focus/MainUIFocusModel.java - client/core/src/main/java/fr/ird/observe/client/util/init/DefaultUIInitializer.java - client/core/src/main/java/fr/ird/observe/client/util/init/DefaultUIInitializerContext.java - client/core/src/main/java/fr/ird/observe/client/util/init/UIInitHelper.java - client/core/src/main/resources/fr/ird/observe/client/ui/ObserveCommon.jcss - + client/datasource/.mvn/pom.gitflow.develop - + client/datasource/.mvn/pom.gitflow.master - + client/datasource/.mvn/pom.organizationId - + client/datasource/.mvn/pom.projectId - + client/datasource/.mvn/pom.stageId - client/datasource/actions/.mvn/pom.gitflow.develop - client/datasource/actions/.mvn/pom.gitflow.master - client/datasource/actions/pom.xml - + client/datasource/editor/.mvn/pom.gitflow.develop - + client/datasource/editor/.mvn/pom.gitflow.master - + client/datasource/editor/.mvn/pom.organizationId - + client/datasource/editor/.mvn/pom.projectId The diff was not included because it is too large. View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/1daea5622c55ee0f396c168c… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/1daea5622c55ee0f396c168c… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop] 2 commits: Petit défaut d'affichage d'une liste à choix multiple - Closes #1770
by Tony CHEMIT 22 Jan '21

22 Jan '21
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: f3977cee by Tony Chemit at 2021-01-22T10:54:34+01:00 Petit défaut d&#39;affichage d&#39;une liste à choix multiple - Closes #1770 - - - - - 65848f2e by Tony Chemit at 2021-01-22T10:54:54+01:00 Tailles d&#39;icônes différentes sur le même niveau de hiérarchie - Closes #1769 - - - - - 6 changed files: - client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/SetCatchUI.jaxx - client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/SetCatchUI.jcss - client/datasource/editor/ll/src/main/resources/fr/ird/observe/client/datasource/editor/ll/data/logbook/SetGlobalCompositionUINavigationNode.scope - client/datasource/editor/ll/src/main/resources/fr/ird/observe/client/datasource/editor/ll/data/observation/SetDetailCompositionUINavigationNode.scope - client/datasource/editor/ll/src/main/resources/fr/ird/observe/client/datasource/editor/ll/data/observation/SetGlobalCompositionUINavigationNode.scope - client/datasource/editor/spi/src/main/java/fr/ird/observe/client/datasource/editor/spi/content/data/simple/GenerateContentSimpleUINavigationScope.java Changes: ===================================== client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/SetCatchUI.jaxx ===================================== @@ -231,9 +231,7 @@ <!-- predator --> <row> <cell columns="2" fill="both" weighty="0.7"> - <JScrollPane id='predatorPane'> - <DoubleList id='predator' genericType='SpeciesReference'/> - </JScrollPane> + <DoubleList id='predator' genericType='SpeciesReference'/> </cell> </row> ===================================== client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/SetCatchUI.jcss ===================================== @@ -63,12 +63,9 @@ title:"observe.data.ll.logbook.Catch.comment"; } -#predatorPane { - minimumSize:{new Dimension(10,150)}; -} - #predator { - showListLabel: true; + minimumSize:{new Dimension(10,150)}; + showListLabel: false; universeLabel:{t("observe.data.ll.logbook.Catch.availablePredator")}; selectedLabel:{t("observe.data.ll.logbook.Catch.selectedPredator")}; } ===================================== client/datasource/editor/ll/src/main/resources/fr/ird/observe/client/datasource/editor/ll/data/logbook/SetGlobalCompositionUINavigationNode.scope ===================================== @@ -1,7 +1,8 @@ { "properties": { "model.permission": "WRITE_DATA", - "ui.iconPath": "navigation.ll.data.logbook.SetGlobalComposition" + "ui.iconPath": "navigation.ll.data.logbook.SetGlobalComposition", + "ui.subNode": "true" }, "i18nMapping": { "type": "observe.data.ll.logbook.SetGlobalComposition.type" ===================================== client/datasource/editor/ll/src/main/resources/fr/ird/observe/client/datasource/editor/ll/data/observation/SetDetailCompositionUINavigationNode.scope ===================================== @@ -1,7 +1,8 @@ { "properties": { "model.permission": "WRITE_DATA", - "ui.iconPath": "navigation.ll.data.observation.SetDetailComposition" + "ui.iconPath": "navigation.ll.data.observation.SetDetailComposition", + "ui.subNode": "true" }, "i18nMapping": { "type": "observe.data.ll.observation.SetDetailComposition.type" ===================================== client/datasource/editor/ll/src/main/resources/fr/ird/observe/client/datasource/editor/ll/data/observation/SetGlobalCompositionUINavigationNode.scope ===================================== @@ -1,7 +1,8 @@ { "properties": { "model.permission": "WRITE_DATA", - "ui.iconPath": "navigation.ll.data.observation.SetGlobalComposition" + "ui.iconPath": "navigation.ll.data.observation.SetGlobalComposition", + "ui.subNode": "true" }, "i18nMapping": { "type": "observe.data.ll.observation.SetGlobalComposition.type" ===================================== client/datasource/editor/spi/src/main/java/fr/ird/observe/client/datasource/editor/spi/content/data/simple/GenerateContentSimpleUINavigationScope.java ===================================== @@ -51,6 +51,7 @@ public class GenerateContentSimpleUINavigationScope extends GenerateContentSimpl String selectTypeName = generator.detectCapabilities.parentRelations.get(generator.packageName + "." + nodeType).replace(generator.packageName, generator.dtoPackage).replace("UINavigationNode", "Dto"); return newBuilder(contentUiType, nodeType) .setModule() + .setSubNode() .setDtoTypeFromNodeType() .setMainDtoTypeFromDtoType() .setDtoReferenceTypeFromMainDtoType() View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/e473bd86fa64ad8cd31e53c2… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/e473bd86fa64ad8cd31e53c2… You're receiving this email because of your account on gitlab.com.
1 0
0 0
  • ← Newer
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • ...
  • 12
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.