This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository wao. See http://git.codelutin.com/wao.git commit 626b064a5985fa0ac36176bfc71e7091e7271220 Author: Brendan Le Ny <bleny@codelutin.com> Date: Thu Dec 18 16:56:26 2014 +0100 Les filtres du plan sont désormais effectifs --- .../main/java/fr/ifremer/wao/SampleRowsFilter.java | 52 ++++++++++++++++++++-- .../fr/ifremer/wao/entity/SampleRowTopiaDao.java | 12 +++++ .../content/sclerochronology/sampling-plan.jsp | 4 +- 3 files changed, 63 insertions(+), 5 deletions(-) diff --git a/wao-persistence/src/main/java/fr/ifremer/wao/SampleRowsFilter.java b/wao-persistence/src/main/java/fr/ifremer/wao/SampleRowsFilter.java index 6fc1321..dab068b 100644 --- a/wao-persistence/src/main/java/fr/ifremer/wao/SampleRowsFilter.java +++ b/wao-persistence/src/main/java/fr/ifremer/wao/SampleRowsFilter.java @@ -21,8 +21,10 @@ package fr.ifremer.wao; * #L% */ +import fr.ifremer.wao.entity.IndividualMeasurementStrategy; import fr.ifremer.wao.entity.ObsProgram; import fr.ifremer.wao.entity.SamplingStrategy; +import fr.ifremer.wao.entity.SclerochronologySamplingContext; import org.apache.commons.collections4.CollectionUtils; import java.util.Date; @@ -33,7 +35,7 @@ import java.util.Set; public class SampleRowsFilter extends AbstractWaoFilter { - private static final long serialVersionUID = 1L; + private static final long serialVersionUID = 2L; protected ObsProgram obsProgram; @@ -69,6 +71,12 @@ public class SampleRowsFilter extends AbstractWaoFilter { protected Set<String> organisationIds; + protected Set<String> species; + + protected Set<IndividualMeasurementStrategy> individualMeasurementStrategies; + + protected Set<SclerochronologySamplingContext> sclerochronologySamplingContexts; + protected LinkedHashSet<String> orderByArguments; public ObsProgram getObsProgram() { @@ -167,6 +175,30 @@ public class SampleRowsFilter extends AbstractWaoFilter { this.organisationIds = organisationIds; } + public Set<String> getSpecies() { + return species; + } + + public void setSpecies(Set<String> species) { + this.species = species; + } + + public Set<IndividualMeasurementStrategy> getIndividualMeasurementStrategies() { + return individualMeasurementStrategies; + } + + public void setIndividualMeasurementStrategies(Set<IndividualMeasurementStrategy> individualMeasurementStrategies) { + this.individualMeasurementStrategies = individualMeasurementStrategies; + } + + public Set<SclerochronologySamplingContext> getSclerochronologySamplingContexts() { + return sclerochronologySamplingContexts; + } + + public void setSclerochronologySamplingContexts(Set<SclerochronologySamplingContext> sclerochronologySamplingContexts) { + this.sclerochronologySamplingContexts = sclerochronologySamplingContexts; + } + public LinkedHashSet<String> getOrderByArguments() { return orderByArguments; } @@ -197,7 +229,11 @@ public class SampleRowsFilter extends AbstractWaoFilter { || CollectionUtils.isNotEmpty(targetSpeciesDcfIds) || CollectionUtils.isNotEmpty(samplingStrategies) || CollectionUtils.isNotEmpty(terrestrialDistrictIds) - || CollectionUtils.isNotEmpty(organisationIds); + || CollectionUtils.isNotEmpty(organisationIds) + || CollectionUtils.isNotEmpty(species) + || CollectionUtils.isNotEmpty(sclerochronologySamplingContexts) + || CollectionUtils.isNotEmpty(individualMeasurementStrategies) + ; return filled; } @@ -222,7 +258,11 @@ public class SampleRowsFilter extends AbstractWaoFilter { && WaoUtils.isEqualCollection(samplingStrategies, that.samplingStrategies) && WaoUtils.isEqualCollection(terrestrialDistrictIds, that.terrestrialDistrictIds) && WaoUtils.isEqualCollection(organisationIds, that.organisationIds) - && WaoUtils.isEqualCollection(orderByArguments, that.orderByArguments); + && WaoUtils.isEqualCollection(species, that.species) + && WaoUtils.isEqualCollection(sclerochronologySamplingContexts, that.sclerochronologySamplingContexts) + && WaoUtils.isEqualCollection(individualMeasurementStrategies, that.individualMeasurementStrategies) + && WaoUtils.isEqualCollection(orderByArguments, that.orderByArguments) + ; return equals; @@ -248,6 +288,9 @@ public class SampleRowsFilter extends AbstractWaoFilter { hashCode = 31 * hashCode + WaoUtils.collectionHashCode(samplingStrategies); hashCode = 31 * hashCode + WaoUtils.collectionHashCode(terrestrialDistrictIds); hashCode = 31 * hashCode + WaoUtils.collectionHashCode(organisationIds); + hashCode = 31 * hashCode + WaoUtils.collectionHashCode(species); + hashCode = 31 * hashCode + WaoUtils.collectionHashCode(sclerochronologySamplingContexts); + hashCode = 31 * hashCode + WaoUtils.collectionHashCode(individualMeasurementStrategies); hashCode = 31 * hashCode + WaoUtils.collectionHashCode(orderByArguments); return hashCode; } @@ -268,6 +311,9 @@ public class SampleRowsFilter extends AbstractWaoFilter { clone.samplingStrategies = samplingStrategies == null ? null : new HashSet<>(samplingStrategies); clone.terrestrialDistrictIds = terrestrialDistrictIds == null ? null : new HashSet<>(terrestrialDistrictIds); clone.organisationIds = organisationIds == null ? null : new HashSet<>(organisationIds); + clone.species = species == null ? null : new HashSet<>(species); + clone.sclerochronologySamplingContexts = sclerochronologySamplingContexts == null ? null : new HashSet<>(sclerochronologySamplingContexts); + clone.individualMeasurementStrategies = individualMeasurementStrategies == null ? null : new HashSet<>(individualMeasurementStrategies); clone.orderByArguments = orderByArguments == null ? null : new LinkedHashSet<>(orderByArguments); return clone; } diff --git a/wao-persistence/src/main/java/fr/ifremer/wao/entity/SampleRowTopiaDao.java b/wao-persistence/src/main/java/fr/ifremer/wao/entity/SampleRowTopiaDao.java index 950fe8e..1fedec7 100644 --- a/wao-persistence/src/main/java/fr/ifremer/wao/entity/SampleRowTopiaDao.java +++ b/wao-persistence/src/main/java/fr/ifremer/wao/entity/SampleRowTopiaDao.java @@ -137,6 +137,18 @@ public class SampleRowTopiaDao extends AbstractSampleRowTopiaDao<SampleRow> { ImmutableMap.of("targetSpeciesDcfIds", (Object) filter.getTargetSpeciesDcfIds())); } + if (CollectionUtils.isNotEmpty(filter.getSpecies())) { + query.addTopiaIdIn(SampleRow.PROPERTY_SPECIES, filter.getSpecies()); + } + + if (CollectionUtils.isNotEmpty(filter.getIndividualMeasurementStrategies())) { + query.addIn(SampleRow.PROPERTY_INDIVIDUAL_MEASUREMENT_STRATEGY, filter.getIndividualMeasurementStrategies()); + } + + if (CollectionUtils.isNotEmpty(filter.getSclerochronologySamplingContexts())) { + query.addIn(SampleRow.PROPERTY_SCLEROCHRONOLOGY_SAMPLING_CONTEXT, filter.getSclerochronologySamplingContexts()); + } + if (log.isTraceEnabled()) { log.trace("query to filter sample rows for " + filter + " is " + query.getHql() + " " + query.getHqlParameters()); } diff --git a/wao-web/src/main/webapp/WEB-INF/content/sclerochronology/sampling-plan.jsp b/wao-web/src/main/webapp/WEB-INF/content/sclerochronology/sampling-plan.jsp index b9c4b7b..bb7a9d9 100644 --- a/wao-web/src/main/webapp/WEB-INF/content/sclerochronology/sampling-plan.jsp +++ b/wao-web/src/main/webapp/WEB-INF/content/sclerochronology/sampling-plan.jsp @@ -64,12 +64,12 @@ filterValuesField: 'fishingZoneSectorNames', }, { - filterName: 'samplingContext', + filterName: 'sclerochronologySamplingContexts', filterLabel: "<s:text name="wao.ui.field.SampleRow.sclerochronologySamplingContext"/>", filterValuesField: 'sclerochronologySamplingContexts', }, { - filterName: 'individualMeasurementStrategy', + filterName: 'individualMeasurementStrategies', filterLabel: "<s:text name="wao.ui.field.SampleRow.individualMeasurementStrategy"/>", filterValuesField: 'individualMeasurementStrategies', }, -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.