[Suiviobsmer-commits] r1258 - in trunk: wao-business/src/main/java/fr/ifremer/wao wao-business/src/main/java/fr/ifremer/wao/bean wao-business/src/main/xmi wao-ui wao-ui/src/main/java/fr/ifremer/wao/ui/components wao-ui/src/main/resources/fr/ifremer/wao/ui/components wao-ui/src/main/resources/i18n
Author: bleny Date: 2011-05-05 12:08:15 +0000 (Thu, 05 May 2011) New Revision: 1258 Log: add filters for the different level of terrestrial division in sampling filter Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoQueryBuilder.java trunk/wao-business/src/main/java/fr/ifremer/wao/bean/SamplingFilterValuesImpl.java trunk/wao-business/src/main/xmi/wao.zargo trunk/wao-ui/pom.xml trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/SamplingFilterComponent.java trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/SamplingFilterComponent.tml trunk/wao-ui/src/main/resources/i18n/wao-ui_en_GB.properties trunk/wao-ui/src/main/resources/i18n/wao-ui_fr_FR.properties Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoQueryBuilder.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/WaoQueryBuilder.java 2011-05-04 09:39:53 UTC (rev 1257) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/WaoQueryBuilder.java 2011-05-05 12:08:15 UTC (rev 1258) @@ -393,6 +393,18 @@ query.addEquals(sampleRowProperty.observationUnit(), filter.getObservationUnit()); } + if (filter.getSkillZoneCode() != null) { + query.addEquals(sampleRowProperty.observationUnitProperty().skillZoneCode(), filter.getSkillZoneCode()); + } + + if (filter.getSubPopulationCode() != null) { + query.addEquals(sampleRowProperty.observationUnitProperty().subPopulationCode(), filter.getSubPopulationCode()); + } + + if (filter.getRegionIfremerCode() != null) { + query.addEquals(sampleRowProperty.observationUnitProperty().regionIfremerCode(), filter.getRegionIfremerCode()); + } + // XXX 2011 04 12 using UserFilter#observer for both samplingfilter and // contact filter may lead to buggy filters (observers filters in contacts / obsdeb // sampling plan) Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/bean/SamplingFilterValuesImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/bean/SamplingFilterValuesImpl.java 2011-05-04 09:39:53 UTC (rev 1257) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/bean/SamplingFilterValuesImpl.java 2011-05-05 12:08:15 UTC (rev 1258) @@ -31,10 +31,13 @@ import fr.ifremer.wao.entity.TerrestrialDivision; import fr.ifremer.wao.entity.TerrestrialLocation; import fr.ifremer.wao.entity.WaoUser; +import org.apache.commons.collections.OrderedMap; import java.util.ArrayList; import java.util.Collection; import java.util.List; +import java.util.Map; +import java.util.TreeMap; public class SamplingFilterValuesImpl extends SamplingFilterValues { @@ -379,13 +382,45 @@ return new ArrayList<E>(collection); } + protected void addSkillZone(TerrestrialDivision observationUnit) { + Map<String,String> skillZones = getSkillZones(); + if (skillZones == null) { + skillZones = new TreeMap<String, String>(); + setSkillZones(skillZones); + } + skillZones.put(observationUnit.getSkillZoneCode(), observationUnit.getSkillZoneCode() + " - " + + observationUnit.getSkillZoneName()); + } + protected void addSubPopulation(TerrestrialDivision observationUnit) { + Map<String,String> subPopulation = getSubPopulations(); + if (subPopulation == null) { + subPopulation = new TreeMap<String, String>(); + setSubPopulations(subPopulation); + } + subPopulation.put(observationUnit.getSubPopulationCode(), observationUnit.getSubPopulationCode() + " - " + + observationUnit.getSubPopulationName()); + } + + protected void addRegionIfremer(TerrestrialDivision observationUnit) { + Map<String, String> regionIfremers = getRegionIfremers(); + if (regionIfremers == null) { + regionIfremers = new TreeMap<String, String>(); + setRegionIfremers(regionIfremers); + } + regionIfremers.put(observationUnit.getRegionIfremerCode(), observationUnit.getRegionIfremerCode()); + } + protected void fillSampleRow(SampleRow sampleRow) { ObsProgram obsProgram = sampleRow.getObsProgram(); addCompanies(sampleRow.getCompany()); if (ObsProgram.OBSDEB.equals(obsProgram)) { addAllObservers(sampleRow.getObservers()); - addObservationUnits(sampleRow.getObservationUnit()); + TerrestrialDivision observationUnit = sampleRow.getObservationUnit(); + addObservationUnits(observationUnit); + addSkillZone(observationUnit); + addSubPopulation(observationUnit); + addRegionIfremer(observationUnit); } else { // for both ObsMer and ObsVente addFacadeNames(sampleRow.getFacade()); Modified: trunk/wao-business/src/main/xmi/wao.zargo =================================================================== (Binary files differ) Modified: trunk/wao-ui/pom.xml =================================================================== --- trunk/wao-ui/pom.xml 2011-05-04 09:39:53 UTC (rev 1257) +++ trunk/wao-ui/pom.xml 2011-05-05 12:08:15 UTC (rev 1258) @@ -183,7 +183,6 @@ <entries> <entry> <basedir>${basedir}/src/main/resources/fr/ifremer/wao/ui</basedir> - <basedir>${basedir}/src/main/java/fr/ifremer/wao/ui</basedir> <specificGoal>parserTapestry</specificGoal> </entry> </entries> Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/SamplingFilterComponent.java =================================================================== --- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/SamplingFilterComponent.java 2011-05-04 09:39:53 UTC (rev 1257) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/SamplingFilterComponent.java 2011-05-05 12:08:15 UTC (rev 1258) @@ -26,10 +26,18 @@ import fr.ifremer.wao.bean.SamplingFilter; import fr.ifremer.wao.bean.SamplingFilterValues; import fr.ifremer.wao.service.ServiceSampling; +import org.apache.tapestry5.OptionModel; +import org.apache.tapestry5.SelectModel; import org.apache.tapestry5.annotations.Parameter; import org.apache.tapestry5.annotations.Persist; +import org.apache.tapestry5.internal.OptionModelImpl; +import org.apache.tapestry5.internal.SelectModelImpl; import org.nuiton.util.PeriodDates; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + /** * @author sletellier <letellier at codelutin.com> */ @@ -136,4 +144,52 @@ } return format; } + + private SelectModel skillZoneSelectModel; + + public SelectModel getSkillZoneSelectModel() { + if (skillZoneSelectModel == null) { + List<OptionModel> options = new ArrayList<OptionModel>(); + Map<String, String> skillZones = getPossibleValuesForFilter().getSkillZones(); + if (skillZones != null) { + for (Map.Entry<String, String> skillZone : skillZones.entrySet()) { + options.add(new OptionModelImpl(skillZone.getValue(), skillZone.getKey())); + } + } + skillZoneSelectModel = new SelectModelImpl(null, options); + } + return skillZoneSelectModel; + } + + private SelectModel subPopulationSelectModel; + + public SelectModel getSubPopulationSelectModel() { + if (subPopulationSelectModel == null) { + List<OptionModel> options = new ArrayList<OptionModel>(); + Map<String, String> subPopulations = getPossibleValuesForFilter().getSubPopulations(); + if (subPopulations != null) { + for (Map.Entry<String, String> skillZone : subPopulations.entrySet()) { + options.add(new OptionModelImpl(skillZone.getValue(), skillZone.getKey())); + } + } + subPopulationSelectModel = new SelectModelImpl(null, options); + } + return subPopulationSelectModel; + } + + private SelectModel regionIfremerSelectModel; + + public SelectModel getRegionIfremerSelectModel() { + if (regionIfremerSelectModel == null) { + List<OptionModel> options = new ArrayList<OptionModel>(); + Map<String, String> regionIfremers = getPossibleValuesForFilter().getRegionIfremers(); + if (regionIfremers != null) { + for (Map.Entry<String, String> skillZone : regionIfremers.entrySet()) { + options.add(new OptionModelImpl(skillZone.getValue(), skillZone.getKey())); + } + } + regionIfremerSelectModel = new SelectModelImpl(null, options); + } + return regionIfremerSelectModel; + } } Modified: trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/SamplingFilterComponent.tml =================================================================== --- trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/SamplingFilterComponent.tml 2011-05-04 09:39:53 UTC (rev 1257) +++ trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/SamplingFilterComponent.tml 2011-05-05 12:08:15 UTC (rev 1258) @@ -73,6 +73,22 @@ </div> <t:if test="user.obsDeb"> <!-- filter fields only for obsdeb--> + <label for="regionIfremer">${message:wao.ui.field.TerrestrialDivision.regionIfremer}</label> + <t:select t:id="regionIfremer" + t:model="regionIfremerSelectModel" + t:value="filter.regionIfremerCode" /> + <t:if test="filter.regionIfremerCode"> + <label for="skillZone">${message:wao.ui.field.TerrestrialDivision.skillZone}</label> + <t:select t:id="skillZone" + t:model="skillZoneSelectModel" + t:value="filter.skillZoneCode" /> + <t:if test="filter.skillZoneCode"> + <label for="subPopulation">${message:wao.ui.field.TerrestrialDivision.subPopulation}</label> + <t:select t:id="subPopulation" + t:model="subPopulationSelectModel" + t:value="filter.subPopulationCode" /> + </t:if> + </t:if> <label for="observationUnit">${message:wao.ui.field.SampleRow.observationUnit}</label> <t:topiaEntitySelector t:id="observationUnit" t:clazzName="TerrestrialDivision" Modified: trunk/wao-ui/src/main/resources/i18n/wao-ui_en_GB.properties =================================================================== --- trunk/wao-ui/src/main/resources/i18n/wao-ui_en_GB.properties 2011-05-04 09:39:53 UTC (rev 1257) +++ trunk/wao-ui/src/main/resources/i18n/wao-ui_en_GB.properties 2011-05-05 12:08:15 UTC (rev 1258) @@ -134,6 +134,8 @@ wao.ui.field.SampleRow.species=Species wao.ui.field.SampleRow.terrestrialLocation=Maritime district wao.ui.field.SampleRow.terrestrialLocationInfos=Terrestrial Location Infos +wao.ui.field.TerrestrialDivision.regionIfremer=Ifremer region +wao.ui.field.TerrestrialDivision.skillZone=Skill zone wao.ui.field.TerrestrialDivision.subPopulation=Sub-population wao.ui.field.User.firstName=First name wao.ui.field.User.lastName=Last name Modified: trunk/wao-ui/src/main/resources/i18n/wao-ui_fr_FR.properties =================================================================== --- trunk/wao-ui/src/main/resources/i18n/wao-ui_fr_FR.properties 2011-05-04 09:39:53 UTC (rev 1257) +++ trunk/wao-ui/src/main/resources/i18n/wao-ui_fr_FR.properties 2011-05-05 12:08:15 UTC (rev 1258) @@ -133,6 +133,8 @@ wao.ui.field.SampleRow.species=Esp\u00E8ces cibles wao.ui.field.SampleRow.terrestrialLocation=Quartier maritime wao.ui.field.SampleRow.terrestrialLocationInfos=Autre(s) info(s) +wao.ui.field.TerrestrialDivision.regionIfremer=R\u00E9gion Ifremer +wao.ui.field.TerrestrialDivision.skillZone=Zone de comp\u00E9tence wao.ui.field.TerrestrialDivision.subPopulation=Sous-population wao.ui.field.User.firstName=Pr\u00E9nom wao.ui.field.User.lastName=Nom
participants (1)
-
bleny@users.labs.libre-entreprise.org