Author: sletellier Date: 2011-04-01 08:55:06 +0000 (Fri, 01 Apr 2011) New Revision: 1123 Log: Revert refactor on non impacted classes to fix regressions Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/base/AbstractFilteredPage.java trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Boats.java trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Contacts.java Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/base/AbstractFilteredPage.java =================================================================== --- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/base/AbstractFilteredPage.java 2011-03-31 14:30:01 UTC (rev 1122) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/base/AbstractFilteredPage.java 2011-04-01 08:55:06 UTC (rev 1123) @@ -43,6 +43,7 @@ import org.apache.tapestry5.OptionModel; import org.apache.tapestry5.SelectModel; import org.apache.tapestry5.annotations.Persist; +import org.apache.tapestry5.annotations.Property; import org.apache.tapestry5.annotations.SessionState; import org.apache.tapestry5.internal.OptionModelImpl; import org.apache.tapestry5.internal.SelectModelImpl; @@ -53,8 +54,6 @@ import java.util.ArrayList; import java.util.List; -import static fr.ifremer.wao.ui.data.TapestryUtil.getEntityFromModel; - /** * AbstractFilteredPage * @@ -114,156 +113,59 @@ private ServiceUser serviceUser; @Persist - private FilterManager filterManager; - - @Persist - private boolean observerSelect; - - @Persist - private boolean programSelect; - /* - * Generic select models - */ - @Persist private GenericSelectModel<SampleRow> sampleRowSelectModel; + @Property + private String sampleRowId; + @Persist - private GenericSelectModel<TerrestrialLocation> terrestrialLocationSelectModel; - - @Persist - private GenericSelectModel<Company> companySelectModel; - - @Persist - private GenericSelectModel<WaoUser> observerSelectModel; - - @Persist - private GenericSelectModel<FishingGearDCF> dcfGearSelectModel; - - @Persist - private GenericSelectModel<TargetSpeciesDCF> dcfSpeciesSelectModel; - - /* - * Select models - */ - @Persist private SelectModel facadeSelectModel; @Persist private SelectModel sectorSelectModel; @Persist - private SelectModel programSelectModel; + private GenericSelectModel<Company> companySelectModel; - /** - * Id - */ - @Persist + @Property private String companyId; @Persist + private GenericSelectModel<WaoUser> observerSelectModel; + + @Property private String observerId; @Persist - private String fishingGearDCFId; + private SelectModel programSelectModel; @Persist - private String targetSpeciesDCFId; + private boolean observerSelect; @Persist - private String terrestrialDistrictId; + private boolean programSelect; - - private boolean edited; - - @Persist - private String sampleRowId; - - public boolean isObserverSelect() { - return observerSelect; - } - - public boolean isProgramSelect() { - return programSelect; - } - - public String getSampleRowId() { - return sampleRowId; - } - - public void setSampleRowId(String sampleRowId) { - this.sampleRowId = sampleRowId; - SampleRow sampleRow = getEntityFromModel(getSampleRowSelectModel(), sampleRowId); - getFilter().setSampleRow(sampleRow); - } - - public String getCompanyId() { - return companyId; - } - - public void setCompanyId(String companyId) { - this.companyId = companyId; - Company company = getEntityFromModel(getCompanySelectModel(), companyId); - getFilter().setCompany(company); - } - - public String getObserverId() { - return observerId; - } - - public void setObserverId(String observerId) { - this.observerId = observerId; - WaoUser observer = getEntityFromModel(getObserverSelectModel(), observerId); - getFilter().setObserver(observer); - } - - public String getFishingGearDCFId() { - return fishingGearDCFId; - } - - public void setFishingGearDCFId(String fishingGearDCFId) { - this.fishingGearDCFId = fishingGearDCFId; - FishingGearDCF fishingGearDCF = getEntityFromModel(getDcfGearSelectModel(), fishingGearDCFId); - getFilter().setFishingGearDCF(fishingGearDCF); - } - - public String getTargetSpeciesDCFId() { - return targetSpeciesDCFId; - } - - public void setTargetSpeciesDCFId(String targetSpeciesDCFId) { - this.targetSpeciesDCFId = targetSpeciesDCFId; - TargetSpeciesDCF targetSpeciesDCF = getEntityFromModel(getDcfSpeciesSelectModel(), targetSpeciesDCFId); - getFilter().setTargetSpeciesDCF(targetSpeciesDCF); - } - - public String getTerrestrialDistrictId() { - return terrestrialDistrictId; - } - - public void setTerrestrialDistrictId(String terrestrialDistrictId) { - this.terrestrialDistrictId = terrestrialDistrictId; - TerrestrialLocation terrestrialDistrict = getEntityFromModel(getTerrestrialDistrictSelectModel(), terrestrialDistrictId); - getFilter().setTerrestrialDistrict(terrestrialDistrict); - } - public void onSelectedFromAddSampleRowCode() { - if (getSampleRowId() != null) { + if (sampleRowId != null) { List<SampleRow> rows = getFilter().getSampleRows(); if (rows == null) { rows = new ArrayList<SampleRow>(); getFilter().setSampleRows(rows); } - SampleRow sampleRow = getSampleRowSelectModel().findObject(getSampleRowId()); + SampleRow sampleRow = getSampleRowSelectModel().findObject(sampleRowId); if ( ! rows.contains(sampleRow)) { rows.add(sampleRow); } + + edited = true; } } public void onSelectedFromRemoveSampleRowCode() { - if (getSampleRowId() != null) { - getFilter().getSampleRows().remove(getSampleRowSelectModel().findObject(getSampleRowId())); + if (sampleRowId != null) { + getFilter().getSampleRows().remove(getSampleRowSelectModel().findObject(sampleRowId)); + edited = true; } } @@ -291,11 +193,8 @@ * @param programSelect * @throws WaoException */ - public void initSelectFilters( - boolean companySelect, - boolean observerSelect, - boolean programSelect) throws WaoException { - + protected void initSelectFilters(boolean companySelect, + boolean observerSelect, boolean programSelect) throws WaoException { this.observerSelect = observerSelect; this.programSelect = programSelect; @@ -303,13 +202,13 @@ if (log.isDebugEnabled()) { log.debug("SampleRow filtered : " + getFilter().getSampleRow()); } - setSampleRowId(getFilter().getSampleRow().getTopiaId()); + sampleRowId = getFilter().getSampleRow().getTopiaId(); } - + if (user.isAdmin() && companySelect) { - resetCompanySelectModel(); + resetCompanySelect(); if (getFilter().getCompany() != null) { - setCompanyId(getFilter().getCompany().getTopiaId()); + companyId = getFilter().getCompany().getTopiaId(); } } // else if (!user.isAdmin()) { @@ -320,115 +219,45 @@ // } if (observerSelect) { - resetObserverSelectModel(); + observerSelectModel = null; getObserverSelectModel(); if (getFilter().getObserver() != null) { - setObserverId(getFilter().getObserver().getTopiaId()); + observerId = getFilter().getObserver().getTopiaId(); } } if (programSelect) { - resetProgramSelectModel(); + programSelectModel = null; getProgramSelectModel(); } - resetFacadeSelectModel(); - resetSectorSelectModel(); - resetSampleRowSelectModel(); - - initCompagnyFilter(); + resetFacadeSelect(); + resetSectorSelect(); + resetSampleRowSelect(); } - public void initCompagnyFilter() { - // Very very important to do that at beginning - // Evo #2227 : Guest user has no default company filter - if (user.isCoordinatorOrObserver()) { - if (log.isDebugEnabled()) { - log.debug("Company filtered : " + user.getCompany().getName()); - } - getFilter().setCompany(user.getCompany()); - } - } - - public void resetCompanySelectModel() throws WaoException { + protected void resetCompanySelect() throws WaoException { companySelectModel = null; - companyId = null; + getCompanySelectModel(); } - public void resetSampleRowSelectModel() throws WaoException { - sampleRowSelectModel = null; - getFilter().setSampleRow(null); - } - - public void resetObserverSelectModel() { - observerSelectModel = null; - observerId = null; - } - - public void resetTerrestrialDistrictModel() { - terrestrialLocationSelectModel = null; - terrestrialDistrictId = null; - } - - public void resetTargetSpeciesDCFModel() { - dcfSpeciesSelectModel = null; - targetSpeciesDCFId = null; - } - - public void resetFishingGearDCFModel() { - dcfGearSelectModel = null; - fishingGearDCFId = null; - } - - public void resetFacadeSelectModel() throws WaoException { + protected void resetFacadeSelect() throws WaoException { facadeSelectModel = null; + getFacadeSelectModel(); } - public void resetSectorSelectModel() throws WaoException { + protected void resetSectorSelect() throws WaoException { sectorSelectModel = null; + getSectorSelectModel(); } - public void resetProgramSelectModel() { - programSelectModel = null; + protected void resetSampleRowSelect() throws WaoException { + sampleRowSelectModel = null; + getSampleRowSelectModel(); } - public void resetModels() { - resetCompanySelectModel(); - resetFacadeSelectModel(); - resetObserverSelectModel(); - resetProgramSelectModel(); - resetSampleRowSelectModel(); - resetSectorSelectModel(); - resetTerrestrialDistrictModel(); - resetTargetSpeciesDCFModel(); - resetFishingGearDCFModel(); - } - /** - * Get select model for sampleRows. Depends on filter (Sampling part only). - * The sampleRow set from filter is temporarly extracted to avoid returning - * only one element in the select. - * - * @return the GenericSelectModel<SampleRow> for sampleRows - * @throws WaoException - */ - public GenericSelectModel<SampleRow> getSampleRowSelectModel() throws WaoException { - if (sampleRowSelectModel == null) { - // WARN : no use of sampleRow filter - - List<SampleRow> rowsFiltered = getFilter().getSampleRows(); - getFilter().setSampleRows(null); - List<SampleRow> sampleRows = serviceSampling.getSampleRowsByFilter(getFilter()); - getFilter().setSampleRows(rowsFiltered); - - sampleRowSelectModel = new GenericSelectModel<SampleRow>(sampleRows, SampleRow.class, - SampleRow.PROPERTY_CODE, SampleRow.TOPIA_ID, propertyAccess); - } - return sampleRowSelectModel; - } - - /** * Get select model for fishingZone facade. Depends on company set in * filter. * @@ -437,8 +266,10 @@ */ public SelectModel getFacadeSelectModel() throws WaoException { if (facadeSelectModel == null) { - List<OptionModel> options; - options = getOptionModels(serviceReferential.getFacades(getFilter())); + List<OptionModel> options = new ArrayList<OptionModel>(); + for (String facadeName : serviceReferential.getFacades(getFilter())) { + options.add(new OptionModelImpl(facadeName,facadeName)); + } facadeSelectModel = new SelectModelImpl(null, options); } return facadeSelectModel; @@ -453,14 +284,39 @@ */ public SelectModel getSectorSelectModel() throws WaoException { if (sectorSelectModel == null) { - List<OptionModel> options; - options = getOptionModels(serviceReferential.getSectors(getFilter())); + List<OptionModel> options = new ArrayList<OptionModel>(); + for (String sectorName : serviceReferential.getSectors(getFilter())) { + options.add(new OptionModelImpl(sectorName,sectorName)); + } sectorSelectModel = new SelectModelImpl(null, options); } return sectorSelectModel; } /** + * Get select model for sampleRows. Depends on filter (Sampling part only). + * The sampleRow set from filter is temporarly extracted to avoid returning + * only one element in the select. + * + * @return the GenericSelectModel<SampleRow> for sampleRows + * @throws WaoException + */ + public GenericSelectModel<SampleRow> getSampleRowSelectModel() throws WaoException { + if (sampleRowSelectModel == null) { + // WARN : no use of sampleRow filter + + List<SampleRow> rowsFiltered = getFilter().getSampleRows(); + getFilter().setSampleRows(null); + List<SampleRow> sampleRows = serviceSampling.getSampleRowsByFilter(getFilter()); + getFilter().setSampleRows(rowsFiltered); + + sampleRowSelectModel = new GenericSelectModel<SampleRow>(sampleRows, SampleRow.class, + SampleRow.PROPERTY_CODE, SampleRow.TOPIA_ID, propertyAccess); + } + return sampleRowSelectModel; + } + + /** * Get select model for companies. Depends on * {@link #isAvailableDataForFiltersOnly()} () } to return only activated * companies. This select model is only used by admin users. @@ -470,9 +326,8 @@ */ public GenericSelectModel<Company> getCompanySelectModel() throws WaoException { if (companySelectModel == null) { - List<Company> companies; - companies = serviceUser.getCompanies(isAvailableDataForFiltersOnly()); - companySelectModel = new GenericSelectModel<Company>(companies, Company.class, + List<Company> companies = serviceUser.getCompanies(isAvailableDataForFiltersOnly()); + companySelectModel = new GenericSelectModel<Company>(companies,Company.class, Company.PROPERTY_NAME, Company.TOPIA_ID, propertyAccess); } return companySelectModel; @@ -488,13 +343,10 @@ */ public GenericSelectModel<WaoUser> getObserverSelectModel() throws WaoException { if (observerSelectModel == null) { - - List<WaoUser> observers; - observers = - serviceUser.getObservers(getFilter().getCompany(), + List<WaoUser> observers = + serviceUser.getObservers(getFilter().getCompany(), isAvailableDataForFiltersOnly()); - - observerSelectModel = new GenericSelectModel<WaoUser>(observers, WaoUser.class, + observerSelectModel = new GenericSelectModel<WaoUser>(observers,WaoUser.class, "fullName", "topiaId", propertyAccess); } return observerSelectModel; @@ -509,20 +361,27 @@ */ public SelectModel getProgramSelectModel() throws WaoException { if (programSelectModel == null) { - List<OptionModel> options; - options = getOptionModels(serviceSampling.getPrograms(getFilter().getCompany())); + List<OptionModel> options = new ArrayList<OptionModel>(); + for (String programName : serviceSampling.getPrograms(getFilter().getCompany())) { + options.add(new OptionModelImpl(programName, programName)); + } programSelectModel = new SelectModelImpl(null, options); } return programSelectModel; } + @Property + @Persist + private String fishingGearDCFId; + + private GenericSelectModel<FishingGearDCF> dcfGearSelectModel; + public GenericSelectModel<FishingGearDCF> getDcfGearSelectModel() throws WaoException { if (dcfGearSelectModel == null) { // don't filter with already defined DCFs FishingGearDCF keptFishingGearDCF = getFilter().getFishingGearDCF(); getFilter().setFishingGearDCF(null); - List<FishingGearDCF> fishingGearDCFs; - fishingGearDCFs = serviceSampling.getDCFGears(getFilter()); + List<FishingGearDCF> fishingGearDCFs = serviceSampling.getDCFGears(getFilter()); getFilter().setFishingGearDCF(keptFishingGearDCF); dcfGearSelectModel = new GenericSelectModel<FishingGearDCF>(fishingGearDCFs, FishingGearDCF.class, @@ -531,13 +390,18 @@ return dcfGearSelectModel; } + @Property + @Persist + private String targetSpeciesDCFId; + + private GenericSelectModel<TargetSpeciesDCF> dcfSpeciesSelectModel; + public GenericSelectModel<TargetSpeciesDCF> getDcfSpeciesSelectModel() throws WaoException { if (dcfSpeciesSelectModel == null) { // don't filter with already defined DCFs TargetSpeciesDCF keptTargetSpeciesDCF = getFilter().getTargetSpeciesDCF(); getFilter().setTargetSpeciesDCF(null); - List<TargetSpeciesDCF> targetSpeciesDCFs; - targetSpeciesDCFs = serviceSampling.getDCFSpecies(getFilter()); + List<TargetSpeciesDCF> targetSpeciesDCFs = serviceSampling.getDCFSpecies(getFilter()); getFilter().setTargetSpeciesDCF(keptTargetSpeciesDCF); dcfSpeciesSelectModel = new GenericSelectModel<TargetSpeciesDCF>(targetSpeciesDCFs, TargetSpeciesDCF.class, @@ -546,24 +410,6 @@ return dcfSpeciesSelectModel; } - public GenericSelectModel<TerrestrialLocation> getTerrestrialDistrictSelectModel() throws WaoException { - if (terrestrialLocationSelectModel == null) { - List<TerrestrialLocation> districts; - districts = serviceReferential.getAllTerrestrialDistricts(new SamplingFilterImpl()); - terrestrialLocationSelectModel = new GenericSelectModel<TerrestrialLocation>(districts, TerrestrialLocation.class, - "description", SampleRow.TOPIA_ID, propertyAccess); - } - return terrestrialLocationSelectModel; - } - - protected List<OptionModel> getOptionModels(List<String> names) { - List<OptionModel> options = new ArrayList<OptionModel>(); - for (String name : names) { - options.add(new OptionModelImpl(name, name)); - } - return options; - } - protected abstract SamplingFilter getFilter() throws WaoException; /** @@ -573,14 +419,11 @@ */ protected abstract boolean isAvailableDataForFiltersOnly(); - protected abstract void resetFilter(); - public String[] onProvideCompletionsFromBoatName(String input) throws WaoException { List<String> results = serviceBoat.getBoatNamesStartWith(input); return results.toArray(new String[results.size()]); } - /** * Called when search submit button is pressed. This method is useful to * refresh all filters data from selects. @@ -590,19 +433,19 @@ public void onSelectedFromSearch() throws WaoException { if (log.isDebugEnabled()) { log.debug("REFRESH FILTERS DATA"); - log.debug("observerSelect : " + isObserverSelect()); + log.debug("observerSelect : " + observerSelect); } //SampleRow row = getSampleRowSelectModel().findObject(sampleRowId); // getFilter().setSampleRow(row); if (user.isAdmin()) { - Company company = getCompanySelectModel().findObject(getCompanyId()); + Company company = getCompanySelectModel().findObject(companyId); getFilter().setCompany(company); } else { getFilter().setCompany(user.getCompany()); } - if (isObserverSelect()) { - WaoUser observer = getObserverSelectModel().findObject(getObserverId()); + if (observerSelect) { + WaoUser observer = getObserverSelectModel().findObject(observerId); if (log.isDebugEnabled()) { log.debug("Observer selected : " + (observer != null ? observer.getFullName() : "null")); @@ -610,17 +453,15 @@ getFilter().setObserver(observer); } - String fishingGearDCFId = getFishingGearDCFId(); if (fishingGearDCFId != null) { FishingGearDCF fishingGearDCF = getDcfGearSelectModel().findObject(fishingGearDCFId); getFilter().setFishingGearDCF(fishingGearDCF); } - String targetSpeciesDCFId = getTargetSpeciesDCFId(); if (targetSpeciesDCFId != null) { TargetSpeciesDCF targetSpeciesDCF = getDcfSpeciesSelectModel().findObject(targetSpeciesDCFId); getFilter().setTargetSpeciesDCF(targetSpeciesDCF); } - updateLocation(getTerrestrialDistrictId()); + updateLocation(terrestrialDistrictId); } public void updateLocation(String terrestrialDistrictId) { @@ -631,6 +472,8 @@ getFilter().setTerrestrialDistrict(district); } + private boolean edited; + /** * EVENT :: selected on refreshByCompany submit button. Reset selects for * company selected : programs, facades, sectors, sampleRows and observers. @@ -644,14 +487,14 @@ // Reset programs (the behavior is needed even if programSelect is false) getFilter().setProgramName(null); onSelectedFromRefreshByProgram(); - if (isObserverSelect()) { + if (observerSelect) { // Reset observers getFilter().setObserver(null); - resetObserverSelectModel(); + observerSelectModel = null; getObserverSelectModel(); } - if (isProgramSelect()) { - resetProgramSelectModel(); + if (programSelect) { + programSelectModel = null; getProgramSelectModel(); } edited = true; @@ -670,7 +513,7 @@ // Reset facades getFilter().setFacadeName(null); onSelectedFromRefreshByFacade(); - resetFacadeSelectModel(); + resetFacadeSelect(); } /** @@ -686,7 +529,7 @@ // Reset sectors getFilter().setSectorName(null); onSelectedFromRefreshBySector(); - resetSectorSelectModel(); + resetSectorSelect(); } /** @@ -703,7 +546,7 @@ onSelectedFromSearch(); // Reset sampleRows; getFilter().setSampleRow(null); - resetSampleRowSelectModel(); + resetSampleRowSelect(); edited = true; } @@ -716,4 +559,18 @@ return edited; } + @Property + @Persist + private String terrestrialDistrictId; + + private GenericSelectModel<TerrestrialLocation> terrestrialLocationSelectModel; + + public GenericSelectModel<TerrestrialLocation> getTerrestrialDistrictSelectModel() throws WaoException { + if (terrestrialLocationSelectModel == null) { + List<TerrestrialLocation> districts = serviceReferential.getAllTerrestrialDistricts(new SamplingFilterImpl()); + terrestrialLocationSelectModel = new GenericSelectModel<TerrestrialLocation>(districts, TerrestrialLocation.class, + "description", SampleRow.TOPIA_ID, propertyAccess); + } + return terrestrialLocationSelectModel; + } } Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Boats.java =================================================================== --- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Boats.java 2011-03-31 14:30:01 UTC (rev 1122) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Boats.java 2011-04-01 08:55:06 UTC (rev 1123) @@ -160,8 +160,7 @@ // Initialize filters using AbstractFilteredPage superclass initSelectFilters(false, false, false); // The company of connected user will be contributed to abstractFilteredPage - // TODO sletellier remove it ? : up in initSelectFilters -// initCompanyFilter(); + initCompanyFilter(); companyBoatInfos = null; } @@ -371,11 +370,6 @@ return true; } - @Override - protected void resetFilter() { - this.boatFilter = null; - } - /** * Retrieve sampleRow from business with id from url context. The sampleRowId from context is set by SamplingPlan page. * When the sampleRow is not null, the filters are disabled to optimize searching boats for this row. @@ -796,7 +790,7 @@ // WARNING :: Reset sampleRow select for edition mode, no limit for // showing sampleRows instead of filters getFilter().setNbMonthFinishedFromToday(null); - resetSampleRowSelectModel(); + resetSampleRowSelect(); getFilter().setNbMonthFinishedFromToday(-1); } return boatInfosZone.getBody(); Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Contacts.java =================================================================== --- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Contacts.java 2011-03-31 14:30:01 UTC (rev 1122) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Contacts.java 2011-04-01 08:55:06 UTC (rev 1123) @@ -184,11 +184,6 @@ return false; } - @Override - protected void resetFilter() { - this.contactFilter = null; - } - Object onActionFromShowFilters() { // Initialize filters initSelectFilters(true, true, true);