r275 - in trunk: coser-business/src/main/java/fr/ifremer/coser coser-business/src/main/java/fr/ifremer/coser/bean coser-business/src/main/java/fr/ifremer/coser/services coser-business/src/main/resources/i18n coser-ui/src/main/java/fr/ifremer/coser/ui coser-ui/src/main/java/fr/ifremer/coser/ui/selection coser-ui/src/main/resources/i18n
Author: chatellier Date: 2010-11-25 14:31:31 +0000 (Thu, 25 Nov 2010) New Revision: 275 Log: Save occurrence and density filter. Ass occurrence and density configuration Modified: trunk/coser-business/src/main/java/fr/ifremer/coser/CoserBusinessConfig.java trunk/coser-business/src/main/java/fr/ifremer/coser/bean/Selection.java trunk/coser-business/src/main/java/fr/ifremer/coser/services/ProjectService.java trunk/coser-business/src/main/java/fr/ifremer/coser/services/ValidationService.java trunk/coser-business/src/main/resources/i18n/coser-business_en_GB.properties trunk/coser-business/src/main/resources/i18n/coser-business_fr_FR.properties trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/CoserFrameHandler.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 trunk/coser-ui/src/main/resources/i18n/coser-ui_en_GB.properties trunk/coser-ui/src/main/resources/i18n/coser-ui_fr_FR.properties Modified: trunk/coser-business/src/main/java/fr/ifremer/coser/CoserBusinessConfig.java =================================================================== --- trunk/coser-business/src/main/java/fr/ifremer/coser/CoserBusinessConfig.java 2010-11-25 13:38:11 UTC (rev 274) +++ trunk/coser-business/src/main/java/fr/ifremer/coser/CoserBusinessConfig.java 2010-11-25 14:31:31 UTC (rev 275) @@ -82,16 +82,26 @@ return result; } - public double getObervationNobsmin() { - double result = getOptionAsDouble(CoserBusinessOption.OBSERVATION_NOBSMIN.key); + public double getControlNobsmin() { + double result = getOptionAsDouble(CoserBusinessOption.CONTROL_NOBSMIN.key); return result; } public double getControlDiffCatchLength() { - double result = getOptionAsDouble(CoserBusinessOption.CONTROL_DIFF_CACTH_LENGTH.key); + double result = getOptionAsDouble(CoserBusinessOption.CONTROL_DIFF_CATCH_LENGTH.key); return result; } + public double getSelectionOccurrenceFilter() { + double result = getOptionAsDouble(CoserBusinessOption.SELECTION_FILTER_OCCURRENCE.key); + return result; + } + + public double getSelectionDensityFilter() { + double result = getOptionAsDouble(CoserBusinessOption.SELECTION_FILTER_DENSITY.key); + return result; + } + public static enum CoserBusinessOption implements OptionDef { DATABASE_DIRECTORY("coser.database.directory", _("coser.config.database.directory.description"), "${user.home}" + File.separator + "coser", String.class, false, false), @@ -101,8 +111,10 @@ REFERENCE_SPECIES("coser.reference.species", _("coser.config.reference.species.description"), "", String.class, false, false), REFERENCE_TYPE_ESPECES("coser.reference.typeEspeces", _("coser.config.reference.typeEspeces.description"), "", String.class, false, false), - OBSERVATION_NOBSMIN("coser.observation.nobsmin", _("coser.config.observation.nobsmin.description"), "1.0", Double.class, false, false), - CONTROL_DIFF_CACTH_LENGTH("coser.control.diffcatchlength", _("coser.config.control.diffcatchlength.description"), "5.0", Double.class, false, false); + CONTROL_NOBSMIN("coser.control.nobsmin", _("coser.config.control.nobsmin.description"), "1.0", Double.class, false, false), + CONTROL_DIFF_CATCH_LENGTH("coser.control.diffcatchlength", _("coser.config.control.diffcatchlength.description"), "5.0", Double.class, false, false), + SELECTION_FILTER_OCCURRENCE("coser.selection.occurrenceFilter", _("coser.config.selection.occurrenceFilter.description"), "5.0", Double.class, false, false), + SELECTION_FILTER_DENSITY("coser.selection.densityFilter", _("coser.config.selection.densityFilter.description"), "5.0", Double.class, false, false); protected String key; protected String description; 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-25 13:38:11 UTC (rev 274) +++ trunk/coser-business/src/main/java/fr/ifremer/coser/bean/Selection.java 2010-11-25 14:31:31 UTC (rev 275) @@ -31,6 +31,9 @@ import org.apache.commons.lang.StringUtils; +import fr.ifremer.coser.CoserBusinessConfig; +import fr.ifremer.coser.CoserConstants; + /** * Project selection. * @@ -61,6 +64,10 @@ protected String comment; + protected double occurrenceFilter; + + protected double densityFilter; + /** L1 : liste des especes. */ protected List<String> selectedSpecies; @@ -143,6 +150,26 @@ getPropertyChangeSupport().firePropertyChange("comment", oldValue, comment); } + public double getOccurrenceFilter() { + return occurrenceFilter; + } + + public void setOccurrenceFilter(double occurrenceFilter) { + double oldValue = this.occurrenceFilter; + this.occurrenceFilter = occurrenceFilter; + getPropertyChangeSupport().firePropertyChange("occurrenceFilter", oldValue, occurrenceFilter); + } + + public double getDensityFilter() { + return densityFilter; + } + + public void setDensityFilter(double densityFilter) { + double oldValue = this.densityFilter; + this.densityFilter = densityFilter; + getPropertyChangeSupport().firePropertyChange("densityFilter", oldValue, densityFilter); + } + public List<String> getSelectedSpecies() { return selectedSpecies; } @@ -255,6 +282,8 @@ if (comment != null) { props.setProperty("selection.comment", comment); } + props.setProperty("selection.occurrenceFilter", String.valueOf(occurrenceFilter)); + props.setProperty("selection.densityFilter", String.valueOf(densityFilter)); if (getSelectedSpecies() != null) { props.setProperty("selection.selectedSpecies", StringUtils.join(getSelectedSpecies(),',')); } @@ -300,6 +329,12 @@ if (props.containsKey("selection.comment")) { setComment(props.getProperty("selection.comment")); } + if (props.containsKey("selection.occurrenceFilter")) { + setOccurrenceFilter(Double.parseDouble(props.getProperty("selection.occurrenceFilter"))); + } + if (props.containsKey("selection.densityFilter")) { + setDensityFilter(Double.parseDouble(props.getProperty("selection.densityFilter"))); + } if (props.containsKey("selection.selectedSpecies")) { setSelectedSpecies(splitAsList(props.getProperty("selection.selectedSpecies"))); } Modified: trunk/coser-business/src/main/java/fr/ifremer/coser/services/ProjectService.java =================================================================== --- trunk/coser-business/src/main/java/fr/ifremer/coser/services/ProjectService.java 2010-11-25 13:38:11 UTC (rev 274) +++ trunk/coser-business/src/main/java/fr/ifremer/coser/services/ProjectService.java 2010-11-25 14:31:31 UTC (rev 275) @@ -686,6 +686,10 @@ selection.setHistoryCommand(new ArrayList<Command>()); selection.setRsufiResults(new ArrayList<RSufiResult>()); + + // init filter values with configuration + selection.setDensityFilter(config.getSelectionDensityFilter()); + selection.setOccurrenceFilter(config.getSelectionOccurrenceFilter()); return selection; } Modified: trunk/coser-business/src/main/java/fr/ifremer/coser/services/ValidationService.java =================================================================== --- trunk/coser-business/src/main/java/fr/ifremer/coser/services/ValidationService.java 2010-11-25 13:38:11 UTC (rev 274) +++ trunk/coser-business/src/main/java/fr/ifremer/coser/services/ValidationService.java 2010-11-25 14:31:31 UTC (rev 275) @@ -525,7 +525,7 @@ for (Map.Entry<String, Double> sumObservation : nombreForKey.entrySet()) { String key = sumObservation.getKey(); Double value = sumObservation.getValue(); - if (value < config.getObervationNobsmin()) { + if (value < config.getControlNobsmin()) { String lineNumber = firstLineForKey.get(key); @@ -745,7 +745,7 @@ for (Map.Entry<String, Double> sumObservation : nombreForKey.entrySet()) { String key = sumObservation.getKey(); Double value = sumObservation.getValue(); - if (value < config.getObervationNobsmin()) { + if (value < config.getControlNobsmin()) { String lineNumber = firstLineForKey.get(key); Modified: trunk/coser-business/src/main/resources/i18n/coser-business_en_GB.properties =================================================================== --- trunk/coser-business/src/main/resources/i18n/coser-business_en_GB.properties 2010-11-25 13:38:11 UTC (rev 274) +++ trunk/coser-business/src/main/resources/i18n/coser-business_en_GB.properties 2010-11-25 14:31:31 UTC (rev 275) @@ -56,11 +56,13 @@ coser.business.result.rsufiResultAlreadyExists= coser.business.selection.notValidatedControl= coser.config.control.diffcatchlength.description= +coser.config.control.nobsmin.description= coser.config.database.directory.description= -coser.config.observation.nobsmin.description= coser.config.projects.directory.description= coser.config.reference.species.description= coser.config.reference.typeEspeces.description= +coser.config.selection.densityFilter.description= +coser.config.selection.occurrenceFilter.description= coser.config.validator.directory.description= depth\ attribute\ is\ not\ a\ valid\ double= lat\ attribute\ is\ not\ a\ valid\ double= Modified: trunk/coser-business/src/main/resources/i18n/coser-business_fr_FR.properties =================================================================== --- trunk/coser-business/src/main/resources/i18n/coser-business_fr_FR.properties 2010-11-25 13:38:11 UTC (rev 274) +++ trunk/coser-business/src/main/resources/i18n/coser-business_fr_FR.properties 2010-11-25 14:31:31 UTC (rev 275) @@ -56,11 +56,13 @@ coser.business.result.rsufiResultAlreadyExists=Le r\u00E9sultat %D existe d\u00E9j\u00E0 \! coser.business.selection.notValidatedControl=Contr\u00F4le non valid\u00E9 \! coser.config.control.diffcatchlength.description=Pourcentage d'\u00E9cart tol\u00E9r\u00E9 entre les captures et les tailles (en pourcent, par exemple pour 5% mettre 5.0) +coser.config.control.nobsmin.description=Nombre minimal d'observation coser.config.database.directory.description=Emplacement du dossier de toutes les donn\u00E9es relatives \u00E0 Coser -coser.config.observation.nobsmin.description=Nombre minimal d'observation coser.config.projects.directory.description=Emplacement du dossier de sauvegarde des projets coser.config.reference.species.description=Emplacement du fichier de r\u00E9f\u00E9rence des esp\u00E8ces (Reftax) coser.config.reference.typeEspeces.description=Emplacement du fichier de code type des esp\u00E8ces +coser.config.selection.densityFilter.description=Filtre par d\u00E9faut sur la moyenne des densit\u00E9s +coser.config.selection.occurrenceFilter.description=Filtre par d\u00E9faut sur la moyenne des occurrences coser.config.validator.directory.description=Emplacement des fichiers de validations depth\ attribute\ is\ not\ a\ valid\ double=L'attribut ProfMoy n'est pas un r\u00E9el valide lat\ attribute\ is\ not\ a\ valid\ double=L'attribut Lat n'est pas un r\u00E9el valide Modified: trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/CoserFrameHandler.java =================================================================== --- trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/CoserFrameHandler.java 2010-11-25 13:38:11 UTC (rev 274) +++ trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/CoserFrameHandler.java 2010-11-25 14:31:31 UTC (rev 275) @@ -150,18 +150,20 @@ ConfigUIHelper modelBuilder = new ConfigUIHelper(config); // category main - modelBuilder.addCategory(_("coser.config.category.main"), _("coser.config.category.main.description")); + modelBuilder.addCategory(_("coser.config.category.path"), _("coser.config.category.path.description")); modelBuilder.addOption(CoserBusinessConfig.CoserBusinessOption.DATABASE_DIRECTORY); modelBuilder.addOption(CoserBusinessConfig.CoserBusinessOption.PROJECTS_DIRECTORY); - - // category control - modelBuilder.addCategory(_("coser.config.category.control"), _("coser.config.category.control.description")); modelBuilder.addOption(CoserBusinessConfig.CoserBusinessOption.REFERENCE_SPECIES); modelBuilder.addOption(CoserBusinessConfig.CoserBusinessOption.REFERENCE_TYPE_ESPECES); - modelBuilder.addOption(CoserBusinessConfig.CoserBusinessOption.OBSERVATION_NOBSMIN); - modelBuilder.addOption(CoserBusinessConfig.CoserBusinessOption.CONTROL_DIFF_CACTH_LENGTH); - ConfigUI configUI = modelBuilder.buildUI(view, _("coser.config.category.main")); + // category control + modelBuilder.addCategory(_("coser.config.category.configuration"), _("coser.config.category.configuration.description")); + modelBuilder.addOption(CoserBusinessConfig.CoserBusinessOption.CONTROL_NOBSMIN); + modelBuilder.addOption(CoserBusinessConfig.CoserBusinessOption.CONTROL_DIFF_CATCH_LENGTH); + modelBuilder.addOption(CoserBusinessConfig.CoserBusinessOption.SELECTION_FILTER_OCCURRENCE); + modelBuilder.addOption(CoserBusinessConfig.CoserBusinessOption.SELECTION_FILTER_DENSITY); + + ConfigUI configUI = modelBuilder.buildUI(view, _("coser.config.category.path")); JDialog dialogUI = new JDialog(view, _("coser.ui.config.title")); dialogUI.add(configUI); dialogUI.pack(); 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-25 13:38:11 UTC (rev 274) +++ trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/selection/SelectionHandler.java 2010-11-25 14:31:31 UTC (rev 275) @@ -426,6 +426,9 @@ * @param view selection list view */ public void updateOccurrenceDensityFilter(SelectionListsView view) { + + Selection selection = view.getContextValue(Selection.class); + String stringOccurrence = view.getSelectionFilterOccurrenceField().getText().trim(); String stringDensity = view.getSelectionFilterDensityField().getText().trim(); @@ -433,6 +436,9 @@ double occurrence = Double.valueOf(stringOccurrence); double density = Double.valueOf(stringDensity); + selection.setOccurrenceFilter(occurrence); + selection.setDensityFilter(density); + // construction de la liste de selection des especes OccurrenceDensitySpecyListModel model = view.getSelectionOccurrenceDensityListModel(); int speciesCount = model.getSize(); 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-25 13:38:11 UTC (rev 274) +++ trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/selection/SelectionListsView.jaxx 2010-11-25 14:31:31 UTC (rev 275) @@ -77,10 +77,17 @@ <cell fill="horizontal" insets="0" columns="2" anchor="west"> <JPanel> <JLabel text="coser.ui.selection.filter.occurrence" /> - <JTextField id="selectionFilterOccurrenceField" columns="3" text="5" /> + <JTextField id="selectionFilterOccurrenceField" columns="3" text="{String.valueOf(getSelection().getOccurrenceFilter())}" /> + <javax.swing.text.Document javaBean="selectionFilterOccurrenceField.getDocument()" + onInsertUpdate='applyOccDensFilter.setEnabled(true)' + onRemoveUpdate='applyOccDensFilter.setEnabled(true)' /> <JLabel text="coser.ui.selection.filter.density" /> - <JTextField id="selectionFilterDensityField" columns="3" text="5" /> - <JButton text="coser.ui.selection.filter.filter" onActionPerformed="getHandler().updateOccurrenceDensityFilter(this)" /> + <JTextField id="selectionFilterDensityField" columns="3" text="{String.valueOf(getSelection().getDensityFilter())}" /> + <javax.swing.text.Document javaBean="selectionFilterDensityField.getDocument()" + onInsertUpdate='applyOccDensFilter.setEnabled(true)' + onRemoveUpdate='applyOccDensFilter.setEnabled(true)' /> + <JButton id="applyOccDensFilter" text="coser.ui.selection.filter.filter" enabled="false" + onActionPerformed="getHandler().updateOccurrenceDensityFilter(this);applyOccDensFilter.setEnabled(false)" /> </JPanel> </cell> <cell columns="2"> Modified: trunk/coser-ui/src/main/resources/i18n/coser-ui_en_GB.properties =================================================================== --- trunk/coser-ui/src/main/resources/i18n/coser-ui_en_GB.properties 2010-11-25 13:38:11 UTC (rev 274) +++ trunk/coser-ui/src/main/resources/i18n/coser-ui_en_GB.properties 2010-11-25 14:31:31 UTC (rev 275) @@ -1,8 +1,8 @@ coser.config.application.version.description=Application's version -coser.config.category.control=Control -coser.config.category.control.description=Control -coser.config.category.main=Coser -coser.config.category.main.description=Main configuration +coser.config.category.configuration= +coser.config.category.configuration.description= +coser.config.category.path= +coser.config.category.path.description= coser.config.config.file.description=Coser configuration file coser.config.locale.description=Application's locale coser.config.lookandfeel.description=Application's swing theme Modified: trunk/coser-ui/src/main/resources/i18n/coser-ui_fr_FR.properties =================================================================== --- trunk/coser-ui/src/main/resources/i18n/coser-ui_fr_FR.properties 2010-11-25 13:38:11 UTC (rev 274) +++ trunk/coser-ui/src/main/resources/i18n/coser-ui_fr_FR.properties 2010-11-25 14:31:31 UTC (rev 275) @@ -1,8 +1,8 @@ coser.config.application.version.description=Version de l'application -coser.config.category.control=Contr\u00F4le -coser.config.category.control.description=Contr\u00F4le -coser.config.category.main=Coser -coser.config.category.main.description=Configuration principale +coser.config.category.configuration=Configuration +coser.config.category.configuration.description=Configuration (donn\u00E9es num\u00E9riques) +coser.config.category.path=Chemins +coser.config.category.path.description=Configuration des fichiers et r\u00E9pertoires coser.config.config.file.description=Fichier de configuration de Coser coser.config.locale.description=Langue de l'application coser.config.lookandfeel.description=Themes graphique Swing de l'application
participants (1)
-
chatellierï¼ users.labs.libre-entreprise.org