branch develop updated (d70c7c5 -> e191a8d)
This is an automated email from the git hooks/post-receive script. New change to branch develop in repository echobase. See http://git.codelutin.com/echobase.git from d70c7c5 fixes #6318: Les données spatiales de pêche ne sont pas recalculées new e191a8d fixes #6319: Revoir les espèces utilisées pour les exports d'indicateurs The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit e191a8d3a12031708243cebebf6c3f25a98f2ec1 Author: Tony CHEMIT <chemit@codelutin.com> Date: Tue Dec 16 17:58:04 2014 +0100 fixes #6319: Revoir les espèces utilisées pour les exports d'indicateurs Summary of changes: .../echobase/entities/references/Species2.java | 33 +++++++++++ .../service/exportCoser/ExportCoserService.java | 65 ++++++++++++++-------- 2 files changed, 76 insertions(+), 22 deletions(-) create mode 100644 echobase-domain/src/main/java/fr/ifremer/echobase/entities/references/Species2.java -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository echobase. See http://git.codelutin.com/echobase.git commit e191a8d3a12031708243cebebf6c3f25a98f2ec1 Author: Tony CHEMIT <chemit@codelutin.com> Date: Tue Dec 16 17:58:04 2014 +0100 fixes #6319: Revoir les espèces utilisées pour les exports d'indicateurs --- .../echobase/entities/references/Species2.java | 33 +++++++++++ .../service/exportCoser/ExportCoserService.java | 65 ++++++++++++++-------- 2 files changed, 76 insertions(+), 22 deletions(-) diff --git a/echobase-domain/src/main/java/fr/ifremer/echobase/entities/references/Species2.java b/echobase-domain/src/main/java/fr/ifremer/echobase/entities/references/Species2.java new file mode 100644 index 0000000..dcbf283 --- /dev/null +++ b/echobase-domain/src/main/java/fr/ifremer/echobase/entities/references/Species2.java @@ -0,0 +1,33 @@ +package fr.ifremer.echobase.entities.references; + +import com.google.common.base.Predicate; + +/** + * Created on 12/16/14. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 2.7.2 + */ +public class Species2 { + + public static Predicate<Species> newCommunityIndicatorSpeciesPredicate() { + return new Predicate<Species>() { + @Override + public boolean apply(Species input) { + return "0".equals(input.getTaxonSystematicLevel()); + } + }; + } + + public static Predicate<Species> newPopulationIndicatorSpeciesPredicate() { + return new Predicate<Species>() { + @Override + public boolean apply(Species input) { + return !"0".equals(input.getTaxonSystematicLevel()) && !"COMPLEM".equals(input.getCodeMemo()); + } + }; + } + private Species2() { + } + +} diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/exportCoser/ExportCoserService.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/exportCoser/ExportCoserService.java index 2522cd7..602062e 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/exportCoser/ExportCoserService.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/exportCoser/ExportCoserService.java @@ -23,6 +23,7 @@ package fr.ifremer.echobase.services.service.exportCoser; import com.google.common.base.Charsets; import com.google.common.base.Preconditions; +import com.google.common.base.Predicate; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import fr.ifremer.coser.CoserTechnicalException; @@ -34,6 +35,7 @@ import fr.ifremer.echobase.entities.references.DataMetadata; import fr.ifremer.echobase.entities.references.Mission; import fr.ifremer.echobase.entities.references.SampleDataType; import fr.ifremer.echobase.entities.references.Species; +import fr.ifremer.echobase.entities.references.Species2; import fr.ifremer.echobase.io.CommandLineUtils; import fr.ifremer.echobase.io.EchoBaseIOUtil; import fr.ifremer.echobase.persistence.JdbcConfiguration; @@ -235,9 +237,11 @@ public class ExportCoserService extends EchoBaseServiceSupport { List<IndicatorExportRow> rows = Lists.newArrayList(); + Predicate<Species> speciesPredicate = Species2.newPopulationIndicatorSpeciesPredicate(); + Set<String> indicators = model.getPopulationIndicator(); for (String indicator : indicators) { - loadIndicatorValues(mission, indicator, rows); + loadIndicatorValues(mission, indicator, speciesPredicate, rows); model.incrementsProgress(); } Export<IndicatorExportRow> export = Export.newExport(exportModel, rows); @@ -262,9 +266,11 @@ public class ExportCoserService extends EchoBaseServiceSupport { List<IndicatorExportRow> rows = Lists.newArrayList(); + Predicate<Species> speciesPredicate = Species2.newCommunityIndicatorSpeciesPredicate(); + Set<String> indicators = model.getCommunityIndicator(); for (String indicator : indicators) { - loadIndicatorValues(mission, indicator, rows); + loadIndicatorValues(mission, indicator, speciesPredicate, rows); model.incrementsProgress(); } Export<IndicatorExportRow> export = Export.newExport(exportModel, rows); @@ -279,6 +285,7 @@ public class ExportCoserService extends EchoBaseServiceSupport { protected void loadIndicatorValues(Mission mission, String indicator, + Predicate<Species> speciesPredicate, List<IndicatorExportRow> rows) { DataMetadata dataMetadata = persistenceService.getDataMetadata(indicator); @@ -294,20 +301,27 @@ public class ExportCoserService extends EchoBaseServiceSupport { List<Result> results = persistenceService.getResultsForMissionAndDatametadata(mission, dataMetadata); for (Result result : results) { + Species species = result.getCategory().getSpeciesCategory().getSpecies(); - IndicatorExportRow row = rowsBySpecies.get(species); - if (row == null) { - row = new IndicatorExportRow(); - rowsBySpecies.put(species, row); - row.setMission(mission); - row.setIndicator(dataMetadata); - row.setSpecies(species); - row.setStratum("Total"); - row.setDate(result.getCell().getVoyage().getEndDate()); - row.setStandardDeviation(0); + + if (speciesPredicate.apply(species)) { + + IndicatorExportRow row = rowsBySpecies.get(species); + if (row == null) { + row = new IndicatorExportRow(); + rowsBySpecies.put(species, row); + row.setMission(mission); + row.setIndicator(dataMetadata); + row.setSpecies(species); + row.setStratum("Total"); + row.setDate(result.getCell().getVoyage().getEndDate()); + row.setStandardDeviation(0); + } + Float resultValue = Float.valueOf(result.getResultValue()); + row.setEstimation(row.getEstimation() + resultValue); + } - Float resultValue = Float.valueOf(result.getResultValue()); - row.setEstimation(row.getEstimation() + resultValue); + } if (standardDeviationDataMetadata != null) { @@ -318,16 +332,23 @@ public class ExportCoserService extends EchoBaseServiceSupport { mission, standardDeviationDataMetadata); for (Result result : deviationResults) { + Species species = result.getCategory().getSpeciesCategory().getSpecies(); - IndicatorExportRow row = rowsBySpecies.get(species); - if (row == null) { - log.warn(String.format("Could not find result for meta %s / species %s", - dataMetadata.getName(), - species.getBaracoudaCode())); - continue; + + if (speciesPredicate.apply(species)) { + + IndicatorExportRow row = rowsBySpecies.get(species); + if (row == null) { + log.warn(String.format("Could not find result for meta %s / species %s", + dataMetadata.getName(), + species.getBaracoudaCode())); + continue; + } + Float resultValue = Float.valueOf(result.getResultValue()); + row.setStandardDeviation(row.getStandardDeviation() + resultValue); + } - Float resultValue = Float.valueOf(result.getResultValue()); - row.setStandardDeviation(row.getStandardDeviation() + resultValue); + } } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm