Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: c9a29d65 by Tony Chemit at 2024-03-15T13:54:37+01:00 Test method ReportService.initColumnRendererParameters - - - - - c211705f by Tony Chemit at 2024-03-15T13:54:37+01:00 Reports are not copied to the right place... - - - - - 72f76dab by Tony Chemit at 2024-03-15T13:54:37+01:00 Update reports documentation - - - - - 4 changed files: - client/configuration/src/main/java/fr/ird/observe/client/configuration/ClientConfig.java - core/services/test/src/main/java/fr/ird/observe/services/service/ReportFixture.java - core/services/test/src/main/java/fr/ird/observe/services/service/ReportServiceFixtures.java - src/site/markdown/report/index.md.vm Changes: ===================================== client/configuration/src/main/java/fr/ird/observe/client/configuration/ClientConfig.java ===================================== @@ -395,7 +395,7 @@ public class ClientConfig extends GeneratedClientConfig implements TripMapConfig for (String location : locations) { String reportLocation = ReportDefinitionsBuilder.reportLocation(location); URL resource = getClass().getClassLoader().getResource(reportLocation); - Path reportPath = reportDirectory.toPath().resolve(reportLocation); + Path reportPath = reportDirectory.toPath().resolve(location); createDirectory(reportPath.getParent().toFile()); log.info("Copy report from {} to {}", reportLocation, reportPath); Files.writeString(reportPath, ObserveUtil.loadResourceContent(resource)); ===================================== core/services/test/src/main/java/fr/ird/observe/services/service/ReportFixture.java ===================================== @@ -24,6 +24,7 @@ package fr.ird.observe.services.service; import fr.ird.observe.dto.reference.DtoReference; import fr.ird.observe.report.Report; +import fr.ird.observe.report.ReportColumnRenderersParameters; import fr.ird.observe.report.ReportVariable; import fr.ird.observe.report.definition.ReportRequestDefinition; import fr.ird.observe.report.definition.RequestLayout; @@ -116,6 +117,13 @@ public abstract class ReportFixture { assertReportNbRequests(actual); } + public void initColumnRendererParameters(ReportService service, Report definition) { + ReportColumnRenderersParameters actual = service.initColumnRendererParameters(definition.definition()); + Assert.assertNotNull(actual); + Assert.assertNotNull(actual.getColumnRendererParameters()); + Assert.assertEquals(definition.definition().getColumnRenderers().length, actual.getColumnRendererParameters().size()); + } + public final void assertResult(DataMatrix actual) { log.info(String.format("Start assertResult for %s", getReportId())); if (WITH_ASSERT) { ===================================== core/services/test/src/main/java/fr/ird/observe/services/service/ReportServiceFixtures.java ===================================== @@ -94,9 +94,12 @@ public class ReportServiceFixtures extends GeneratedReportServiceFixtures { } } - public void executeReport(ReportService service, String id) { - Report definition = getReport(id); - executeReport(definition, service); + @Override + public void initColumnRendererParameters(ObserveServicesProvider servicesProvider, ReportService service) { + for (String id : ReportServiceFixtures.getReportIds()) { + Report definition = getReport(id); + initColumnRendererParameters(definition, service); + } } @Override @@ -107,6 +110,20 @@ public class ReportServiceFixtures extends GeneratedReportServiceFixtures { } } + public void executeReport(ReportService service, String id) { + Report definition = getReport(id); + executeReport(definition, service); + } + + protected void initColumnRendererParameters(Report definition, ReportService service) { + ReportFixture reportFixture = getReportFixture(definition); + if (reportFixture == null) { + Assume.assumeFalse(String.format("Missing report fixture for %s", definition.getId()), true); + return; + } + reportFixture.initColumnRendererParameters(service, definition); + } + protected void populateVariables(Report definition, ReportService service) { ReportFixture reportFixture = getReportFixture(definition); if (reportFixture == null) { ===================================== src/site/markdown/report/index.md.vm ===================================== @@ -118,7 +118,7 @@ version applicative, à savoir dans Dans la configuration de l'assistant, par défaut on utilise ce fichier. -Il est envisagé en *v10* de faire évoluer cela pour que chaque rapport puisse être décrit dans un fichier séparé. +Depuis la version **9.3.0**, chaque rapport est décrit dans un fichier séparé. Cela aura pour avantage : @@ -126,6 +126,54 @@ Cela aura pour avantage : * de simplifier l'écriture de ceux-ci (on pourra alors supprimer tous les préfixes actuellement utilisés pour identifier un rapport). * de pouvoir organiser ces rapports par modèle métier, ou par type d'organisation +Tous les rapports sont regroupés dans un répertoire des resources de la version applicative, à savoir dans + +```.observe/resources-${project.version}/report/default``` + +dont voici le contenu (en 9.3.0) + +``` +resources-9.3.0-RC-5/report/ +└── default + ├── ll + │ ├── llCommonTripGearUseFeatures.report + │ ├── llLanding.report + │ ├── llLogbookActivities.report + │ ├── llLogbookCatches.report + │ ├── llLogbookSamplesOnActivity.report + │ ├── llLogbookSamplesOnBoth.report + │ └── llLogbookSamplesOnTrip.report + └── ps + ├── psCommonTripGearUseFeatures.report + ├── psLocalmarketBatch.report + ├── psLocalmarketSample.report + ├── psLocalmarketSurvey.report + ├── psLogbookActivity.report + ├── psLogbookSampleMeasures.report + ├── psLogbookSampleSet.report + ├── psLogbookSampleSpeciesMeasuresCount.report + ├── psLogbookSampleSpeciesMeasures.report + ├── psLogbookTrip.report + ├── psLogbookWellPlanCheck.report + ├── psLogbookWellPlan.report + ├── psObservationActivitiesByZone.report + ├── psObservationActivityWithComment.report + ├── psObservationAllActivities.report + ├── psObservationCatch.report + ├── psObservationCatchTotalCountByGroupAndSpeciesFateDiscardPerAssociation.report + ├── psObservationCatchTotalCountByGroupPerReasonForDiscard.report + ├── psObservationCatchTotalCountByGroupPerSpeciesFate.report + ├── psObservationCatchWeightByGroupAndSpeciesFateDiscardPerAssociation.report + ├── psObservationCatchWeightByGroupPerReasonForDiscard.report + ├── psObservationCatchWeightByGroupPerSpeciesFate.report + ├── psObservationDailySetAndCatch.report + ├── psObservationFobUsageExtended.report + ├── psObservationFobUsageMinimal.report + ├── psObservationLengthsDistribution.report + ├── psObservationRepartionCaleeParCuve.report + └── psObservationSetByAssociation.report +``` + ## Description du fonctionnement général d'un rapport ### Prération des variables View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/8c5dacfebf7ea147603d69c1a... -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/8c5dacfebf7ea147603d69c1a... You're receiving this email because of your account on gitlab.com.