Author: chatellier Date: 2010-11-30 17:43:38 +0000 (Tue, 30 Nov 2010) New Revision: 314 Log: Restauration de la selection Modified: trunk/coser-business/src/main/java/fr/ifremer/coser/bean/Selection.java trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/selection/SelectionHandler.java trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/selection/SelectionListsView.jaxx Modified: trunk/coser-business/src/main/java/fr/ifremer/coser/bean/Selection.java =================================================================== --- trunk/coser-business/src/main/java/fr/ifremer/coser/bean/Selection.java 2010-11-30 16:50:43 UTC (rev 313) +++ trunk/coser-business/src/main/java/fr/ifremer/coser/bean/Selection.java 2010-11-30 17:43:38 UTC (rev 314) @@ -98,6 +98,9 @@ super(); // c'est plus facile de ne pas gerer le cas "null" partout dans le code + allYears = Collections.EMPTY_LIST; + selectedYears = Collections.EMPTY_LIST; + selectedStrata = Collections.EMPTY_LIST; selectedSpecies = Collections.EMPTY_LIST; selectedSpeciesOccDens = Collections.EMPTY_LIST; selectedSpeciesSizeAllYear = Collections.EMPTY_LIST; Modified: trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/selection/SelectionHandler.java =================================================================== --- trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/selection/SelectionHandler.java 2010-11-30 16:50:43 UTC (rev 313) +++ trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/selection/SelectionHandler.java 2010-11-30 17:43:38 UTC (rev 314) @@ -85,7 +85,7 @@ /** * Appelé sur un changement d'onglet dans l'interface de sélection. * - * Les listes L1à4 n'ecoute pas directement les modification du premier + * Les listes L1à4 n'ecoute pas directement les modifications du premier * onglet. Opération manuelle, calcul de matrice en plus. * * @param view view @@ -111,6 +111,7 @@ List<String> selectionSpecyList = selection.getSelectedSpecies(); if (!selectionSpecyList.equals(currentList)) { + // on calcul également les matrices de d'occurence, densité Project project = view.getContextValue(Project.class); ProjectService projectService = view.getContextValue(ProjectService.class); @@ -120,21 +121,32 @@ density.meanOverDim(1); // moyenne sur les années Collection<String> speciesAllYear = projectService.getSpeciesWithSizeAllYears(selection); Collection<String> speciesWithMaturity = projectService.getSpeciesWithMaturity(selection); - //MatrixND samplingEffort = projectService.getSamplingEffort(project, selection); // set matrix on list model selectionListsView.getSelectionOccurrenceDensityListModel().setOccurrence(occurrence); selectionListsView.getSelectionOccurrenceDensityListModel().setDensity(density); - + // fill all specy data (at final) selectionListsView.getSelectionAllSpeciesListModel().setSpecies(selectionSpecyList); - - // select all list (not to do for reload) - // init allSize and maturity before (select all with updateOccurrenceDensityFilter) ((CoserListSelectionModel)selectionListsView.getSelectionAllSpeciesList().getSelectionModel()).fillSelection(); selectionListsView.getSelectionSizeAllYearListModel().setSizeAllYearSpecies(speciesAllYear); selectionListsView.getSelectionMaturityListModel().setMaturitySpecies(speciesWithMaturity); - updateOccurrenceDensityFilter(selectionListsView); + + // rechargement de la selection sauvegardée + if (!selectionSpecyList.isEmpty()) { + selectionListsView.getSelectionFilterOccurrenceField().setText(String.valueOf(selection.getOccurrenceFilter())); + selectionListsView.getSelectionFilterDensityField().setText(String.valueOf(selection.getDensityFilter())); + + // restauration de la selection sauvegardée + ((CoserListSelectionModel)selectionListsView.getSelectionOccurrenceDensityList().getSelectionModel()).setSelectedObjects(selection.getSelectedSpeciesOccDens()); + ((CoserListSelectionModel)selectionListsView.getSelectionSizeAllYearList().getSelectionModel()).setSelectedObjects(selection.getSelectedSpeciesSizeAllYear()); + ((CoserListSelectionModel)selectionListsView.getSelectionMaturityList().getSelectionModel()).setSelectedObjects(selection.getSelectedSpeciesMaturity()); + } + else { + // select all list (not to do for reload) + // init allSize and maturity before (select all with updateOccurrenceDensityFilter) + updateOccurrenceDensityFilter(selectionListsView); + } } } } @@ -177,33 +189,23 @@ } Selection selection = view.getSelection(); + SelectionDetailsView detailView = view.getSelectionDetailsTab(); - // fill details view - SelectionDetailsView detailView = view.getSelectionDetailsTab(); + // details view : fill details view detailView.getDatesListModel().setYears(selection.getAllYears()); List<String> selectedYears = selection.getSelectedYears(); - if (selectedYears != null) { - ((CoserListSelectionModel)detailView.getDatesList().getSelectionModel()).setSelectedObjects(selectedYears); - } + ((CoserListSelectionModel)detailView.getDatesList().getSelectionModel()).setSelectedObjects(selectedYears); - // fill strata data and selection + // details view : fill strata data and selection updateSelectionDateData(detailView); List<String> selectedStrata = selection.getSelectedStrata(); - if (selectedStrata != null) { - ((CoserListSelectionModel)detailView.getStrataList().getSelectionModel()).setSelectedObjects(selectedStrata); - } + ((CoserListSelectionModel)detailView.getStrataList().getSelectionModel()).setSelectedObjects(selectedStrata); - // fill specy list and selection + // details view : fill specy list and selection strataListChanged(detailView); List<String> selectedSpecies = selection.getSelectedSpecies(); - if (selectedSpecies != null) { - detailView.getSelectedSpecyListModel().setSpecies(selectedSpecies); - } + detailView.getSelectedSpecyListModel().setSpecies(selectedSpecies); - if (log.isDebugEnabled()) { - log.debug("Selection reloaded."); - } - // disable tabs and other actions detailView.setYearsValidated(!selectedYears.isEmpty()); detailView.setStrataValidated(!selectedStrata.isEmpty()); Modified: trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/selection/SelectionListsView.jaxx =================================================================== --- trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/selection/SelectionListsView.jaxx 2010-11-30 16:50:43 UTC (rev 313) +++ trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/selection/SelectionListsView.jaxx 2010-11-30 17:43:38 UTC (rev 314) @@ -110,7 +110,8 @@ <OccurrenceDensitySpecyListModel id="selectionOccurrenceDensityListModel" /> <JList id="selectionOccurrenceDensityList" model="{selectionOccurrenceDensityListModel}" cellRenderer="{new SpecyListOccDensRenderer(selectionOccurrenceDensityListModel)}" - selectionModel="{new CoserListSelectionModel(selectionOccurrenceDensityList.getSelectionModel(), selectionOccurrenceDensityListModel)}"/> + selectionModel="{new CoserListSelectionModel(selectionOccurrenceDensityList.getSelectionModel(), selectionOccurrenceDensityListModel)}" + onValueChanged="applyOccDensFilter.setEnabled(true)" /> </JScrollPane> </cell> <cell weightx="1" fill="both" columns="2">