r1038 - in trunk: coser-business/src/main/java/fr/ifremer/coser coser-business/src/main/java/fr/ifremer/coser/control coser-business/src/main/java/fr/ifremer/coser/services coser-business/src/test/java/fr/ifremer/coser/services coser-ui/src/main/java/fr/ifremer/coser/ui/control coser-ui/src/main/java/fr/ifremer/coser/ui/selection
Author: echatellier Date: 2012-08-13 15:53:02 +0200 (Mon, 13 Aug 2012) New Revision: 1038 Url: http://forge.codelutin.com/repositories/revision/coser/1038 Log: fixes #1331: Gestion des derniers rendu affichage traduction code esp?\195?\168ce Modified: trunk/coser-business/src/main/java/fr/ifremer/coser/CoserUtils.java trunk/coser-business/src/main/java/fr/ifremer/coser/control/SpeciesControlError.java trunk/coser-business/src/main/java/fr/ifremer/coser/services/ControlService.java trunk/coser-business/src/main/java/fr/ifremer/coser/services/PublicationService.java trunk/coser-business/src/test/java/fr/ifremer/coser/services/ControlServiceTest.java trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/control/ControlGraphFrame.jaxx trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/control/ControlHandler.java trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/control/GlobalControlErrorModel.java trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/selection/SelectionHandler.java Modified: trunk/coser-business/src/main/java/fr/ifremer/coser/CoserUtils.java =================================================================== --- trunk/coser-business/src/main/java/fr/ifremer/coser/CoserUtils.java 2012-08-13 12:52:49 UTC (rev 1037) +++ trunk/coser-business/src/main/java/fr/ifremer/coser/CoserUtils.java 2012-08-13 13:53:02 UTC (rev 1038) @@ -5,7 +5,7 @@ * $Id$ * $HeadURL$ * %% - * Copyright (C) 2010 - 2011 Codelutin, Chatellier Eric + * Copyright (C) 2010 - 2012 Codelutin, Chatellier Eric * %% * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as @@ -44,7 +44,6 @@ import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; -import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.w3c.dom.Document; import org.xml.sax.InputSource; Modified: trunk/coser-business/src/main/java/fr/ifremer/coser/control/SpeciesControlError.java =================================================================== --- trunk/coser-business/src/main/java/fr/ifremer/coser/control/SpeciesControlError.java 2012-08-13 12:52:49 UTC (rev 1037) +++ trunk/coser-business/src/main/java/fr/ifremer/coser/control/SpeciesControlError.java 2012-08-13 13:53:02 UTC (rev 1038) @@ -44,10 +44,20 @@ protected String species; + /** + * Get species code (untranslated). + * + * @param species species code + */ public String getSpecies() { return species; } + /** + * Get species code (untranslated). + * + * @param species species code + */ public void setSpecies(String species) { this.species = species; } Modified: trunk/coser-business/src/main/java/fr/ifremer/coser/services/ControlService.java =================================================================== --- trunk/coser-business/src/main/java/fr/ifremer/coser/services/ControlService.java 2012-08-13 12:52:49 UTC (rev 1037) +++ trunk/coser-business/src/main/java/fr/ifremer/coser/services/ControlService.java 2012-08-13 13:53:02 UTC (rev 1038) @@ -218,7 +218,7 @@ for (Category category : Category.values()) { if (category.isDataCategory()) { // validation de la category seule (generique) - List<ControlError> categoryErrors = validateCategoryXWork(control, category, progress); + List<ControlError> categoryErrors = validateCategoryXWork(project, control, category, progress); if (categoryErrors != null) { validationErrors.addAll(categoryErrors); } @@ -227,7 +227,7 @@ } // validation specifique de la category - List<ControlError> specificErrors = validateCategorySpecific(control, category, progress); + List<ControlError> specificErrors = validateCategorySpecific(project, control, category, progress); if (specificErrors != null) { validationErrors.addAll(specificErrors); } @@ -238,7 +238,7 @@ } // validation entre catch et length (specific) - List<? extends ControlError> diffCatchLengthErrors = validateDiffCatchLength(control, progress); + List<? extends ControlError> diffCatchLengthErrors = validateDiffCatchLength(project, control, progress); if (progress != null) { progress.nextStep(); } @@ -269,33 +269,14 @@ /** * Valide une category entière d'un project. * + * @param project project * @param control control a valider * @param category category a valider * @param progress progress monitor (can be null) - * @return les erreurs de validation - */ - public List<ControlError> validateCategory(Control control, Category category, ProgressMonitor progress) { - - // validation de la category seule (generique) - List<ControlError> errors = validateCategoryXWork(control, category, progress); - // validation specifique de la category - List<ControlError> specificErrors = validateCategorySpecific(control, category, progress); - if (specificErrors != null) { - errors.addAll(specificErrors); - } - - return errors; - } - - /** - * Valide une category entière d'un project. - * - * @param control control a valider - * @param category category a valider - * @param progress progress monitor (can be null) * @return les erreurs de validation (not null) */ - public List<ControlError> validateCategoryXWork(Control control, Category category, ProgressMonitor progress) { + public List<ControlError> validateCategoryXWork(Project project, Control control, + Category category, ProgressMonitor progress) { // instance des bean utilisé lors de la validation Catch beanCatch = new Catch(); @@ -369,7 +350,7 @@ // check for duplicated lines String lineNumber = line[AbstractDataEntity.INDEX_LINE]; - String uniqueDataKey = getSignificantData(category, line); + String uniqueDataKey = getSignificantData(project, category, line); if (uniqueDataKeys.containsKey(uniqueDataKey)) { // make a single ControlError instance pour the same @@ -423,19 +404,22 @@ * TRAITS * Vérifier l'unicité sur : "Campagne", "Annee", "Trait", "Mois" * + * @param project project * @param category category * @param data data * @return string key */ - protected String getSignificantData(Category category, String[] data) { + protected String getSignificantData(Project project, Category category, String[] data) { StringBuilder sb = new StringBuilder(); for (int index = 0 ; index < data.length ; ++index) { // never count index line if (index != AbstractDataEntity.INDEX_LINE) { switch (category) { case CATCH: - if (index == Catch.INDEX_SURVEY || index == Catch.INDEX_YEAR || index == Catch.INDEX_HAUL || index == Catch.INDEX_SPECIES) { + if (index == Catch.INDEX_SURVEY || index == Catch.INDEX_YEAR || index == Catch.INDEX_HAUL) { sb.append(data[index]).append('|'); + } else if (index == Catch.INDEX_SPECIES) { + sb.append(project.getDisplaySpeciesText(data[index])).append('|'); } break; case HAUL: @@ -445,8 +429,10 @@ break; case LENGTH: if (index == Length.INDEX_SURVEY || index == Length.INDEX_YEAR || index == Length.INDEX_HAUL || - index == Length.INDEX_SPECIES || index == Length.INDEX_SEX || index == Length.INDEX_MATURITY || index == Length.INDEX_LENGTH) { + index == Length.INDEX_SEX || index == Length.INDEX_MATURITY || index == Length.INDEX_LENGTH) { sb.append(data[index]).append('|'); + } else if (index == Length.INDEX_SPECIES) { + sb.append(project.getDisplaySpeciesText(data[index])).append('|'); } break; case STRATA: @@ -465,27 +451,28 @@ /** * Effectue un calcul global, mais specific a chaque categorie. * + * @param project project * @param control control * @param category category * @param progress progress monitor * @return error list for category (can be {@code null}) */ - protected List<ControlError> validateCategorySpecific(Control control, + protected List<ControlError> validateCategorySpecific(Project project, Control control, Category category, ProgressMonitor progress) { List<ControlError> validationErrors = null; switch (category) { case CATCH: - validationErrors = validateCategorySpecificCatch(control, progress); + validationErrors = validateCategorySpecificCatch(project, control, progress); break; case HAUL: - validationErrors = validateCategorySpecificHaul(control, progress); + validationErrors = validateCategorySpecificHaul(project, control, progress); break; case LENGTH: - validationErrors = validateCategorySpecificLength(control, progress); + validationErrors = validateCategorySpecificLength(project, control, progress); break; case STRATA: - validationErrors = validateCategorySpecificStrata(control, progress); + validationErrors = validateCategorySpecificStrata(project, control, progress); break; } return validationErrors; @@ -494,11 +481,12 @@ /** * Alerte si Somme(CAPTURES$Nombre par CAPTURES$Annee|Strate|Espece) < nobsmin. * + * @param project project * @param control control * @param progress progress monitor (can be null) * @return error list */ - protected List<ControlError> validateCategorySpecificCatch( + protected List<ControlError> validateCategorySpecificCatch(Project project, Control control, ProgressMonitor progress) { List<ControlError> validationErrors = new ArrayList<ControlError>(); @@ -531,9 +519,10 @@ // compute key StringBuffer sb = new StringBuffer(); for (int tupleIndex = 0 ; tupleIndex < tuple.length; ++tupleIndex) { - if (tupleIndex == Catch.INDEX_YEAR || tupleIndex == Catch.INDEX_HAUL || - tupleIndex == Catch.INDEX_SPECIES) { + if (tupleIndex == Catch.INDEX_YEAR || tupleIndex == Catch.INDEX_HAUL) { sb.append(tuple[tupleIndex]).append(';'); + } else if (tupleIndex == Catch.INDEX_SPECIES) { + sb.append(project.getDisplaySpeciesText(tuple[tupleIndex])).append(';'); } } @@ -588,6 +577,7 @@ * Detecte des différences entre les nombres dans captures * et les nombres dans taille. * + * @param project project * @param control data container * @param progress progress (can be null) * @@ -596,7 +586,8 @@ * * @return errors */ - protected List<? extends ControlError> validateDiffCatchLength(Control control, ProgressMonitor progress) { + protected List<? extends ControlError> validateDiffCatchLength(Project project, + Control control, ProgressMonitor progress) { int total = control.getCatch().size() - 1 + control.getLength().size() - 1; if (progress != null) { @@ -730,7 +721,8 @@ error.setSpecies(species); error.setLevel(ValidationLevel.WARNING); error.setMessage(_("coser.business.control.error.diffCatchLengthMissingYear")); - error.setDetailMessage(_("coser.business.control.error.diffCatchLengthMissingYearDetail", species)); + error.setDetailMessage(_("coser.business.control.error.diffCatchLengthMissingYearDetail", + project.getDisplaySpeciesText(species))); validationErrors.add(error); missingYearLengthSpecies.add(species); } else { @@ -746,7 +738,8 @@ error.setSpecies(species); error.setLevel(ValidationLevel.WARNING); error.setMessage(_("coser.business.control.error.diffCatchLength")); - error.setDetailMessage(_("coser.business.control.error.diffCatchLengthDetail", species, year)); + error.setDetailMessage(_("coser.business.control.error.diffCatchLengthDetail", + project.getDisplaySpeciesText(species), year)); validationErrors.add(error); } } @@ -769,13 +762,14 @@ * <li>seconde passe pour détecter les valeurs abérentes (> ecart type) * </ul> * - * L'ecarty étant : racine( somme (x - moyenne)^2 / n) + * L'ecart étant : racine( somme (x - moyenne)^2 / n) * + * @param project project * @param control control * @param progress progress (can be null) * @return error list */ - protected List<ControlError> validateCategorySpecificLength( + protected List<ControlError> validateCategorySpecificLength(Project project, Control control, ProgressMonitor progress) { List<ControlError> validationErrors = new ArrayList<ControlError>(); @@ -981,7 +975,8 @@ error.setLevel(ValidationLevel.WARNING); error.addLineNumber(lineNumber); error.setMessage(_("coser.business.control.error.lengthOutliers", avg, deviation)); - error.setDetailMessage(_("coser.business.control.error.lengthOutliersDetail", species, avg, deviation, lengthValue)); + error.setDetailMessage(_("coser.business.control.error.lengthOutliersDetail", + project.getDisplaySpeciesText(species), avg, deviation, lengthValue)); validationErrors.add(error); } } @@ -1000,23 +995,25 @@ /** * Specific validation for Haul category. * + * @param project * @param control control * @param progress progress * @return {@code null} */ - protected List<ControlError> validateCategorySpecificHaul(Control control, - ProgressMonitor progress) { + protected List<ControlError> validateCategorySpecificHaul(Project project, + Control control, ProgressMonitor progress) { return null; } /** * Specific validation for Strata category. * + * @param project project * @param control control * @param progress progress * @return {@code null} */ - protected List<ControlError> validateCategorySpecificStrata( + protected List<ControlError> validateCategorySpecificStrata(Project project, Control control, ProgressMonitor progress) { return null; } @@ -1153,16 +1150,18 @@ } String[] catchData = itCatch.next(); + String species = catchData[Catch.INDEX_SPECIES]; surveyNames.add(catchData[Catch.INDEX_SURVEY]); catchYear.add(catchData[Catch.INDEX_YEAR]); - catchYearHaulSpecies.add(catchData[Catch.INDEX_YEAR] + "|" + catchData[Catch.INDEX_HAUL] + "|" + catchData[Catch.INDEX_SPECIES]); + catchYearHaulSpecies.add(catchData[Catch.INDEX_YEAR] + "|" + + catchData[Catch.INDEX_HAUL] + "|" + project.getDisplaySpeciesText(species)); catchYearHaul.add(catchData[Catch.INDEX_YEAR] + "|" + catchData[Catch.INDEX_HAUL]); catchHaulNames.add(catchData[Catch.INDEX_HAUL]); - catchSpeciesNames.add(catchData[Catch.INDEX_SPECIES]); + catchSpeciesNames.add(species); // Contrôle des noms d'espèces dans fichiers CAPTURES et TAILLES qui // doivent être dans le référentiel "reftax": CAPTURES$Espece et - // TAILLES$Espece doivent exister dans REFTAX$ C_VALIDE + // TAILLES$Espece doivent exister dans REFTAX$C_VALIDE if (!refTaxSpecies.containsKey(catchData[Catch.INDEX_SPECIES])) { ControlError error = new ControlError(); error.setCategory(Category.CATCH); @@ -1188,14 +1187,15 @@ String species = lengthData[Length.INDEX_SPECIES]; surveyNames.add(lengthData[Length.INDEX_SURVEY]); lengthYear.add(lengthData[Length.INDEX_YEAR]); - lengthYearHaulSpecies.add(lengthData[Length.INDEX_YEAR] + "|" + lengthData[Length.INDEX_HAUL] + "|" + species); + lengthYearHaulSpecies.add(lengthData[Length.INDEX_YEAR] + "|" + + lengthData[Length.INDEX_HAUL] + "|" + project.getDisplaySpeciesText(species)); lengthYearHaul.add(lengthData[Length.INDEX_YEAR] + "|" + lengthData[Length.INDEX_HAUL]); lengthHaulNames.add(lengthData[Length.INDEX_HAUL]); lengthSpeciesNames.add(species); // Contrôle des noms d'espèces dans fichiers CAPTURES et TAILLES qui // doivent être dans le référentiel "reftax": CAPTURES$Espece et - // TAILLES$Espece doivent exister dans REFTAX$ C_VALIDE + // TAILLES$Espece doivent exister dans REFTAX$C_VALIDE if (!refTaxSpecies.containsKey(species)) { ControlError error = new ControlError(); error.setCategory(Category.LENGTH); @@ -1233,7 +1233,8 @@ error.addLineNumber(lengthData[Length.INDEX_LINE]); error.setLevel(ValidationLevel.WARNING); error.setMessage(_("coser.business.control.error.invalidLengthLengthStep")); - error.setDetailMessage(_("coser.business.control.error.invalidLengthLengthStepDetail", lengthData[Length.INDEX_LENGTH], species)); + error.setDetailMessage(_("coser.business.control.error.invalidLengthLengthStepDetail", + lengthData[Length.INDEX_LENGTH], project.getDisplaySpeciesText(species))); error.setTipMessage(_("coser.business.control.error.invalidLengthLengthStepTip")); crossFilesErrors.add(error); } @@ -1386,7 +1387,8 @@ error.setLevel(ValidationLevel.FATAL); error.setSpecies(missingCatchSpeciesName); error.setMessage(_("coser.business.control.error.missingCatchSpeciesFromLength")); - error.setDetailMessage(_("coser.business.control.error.missingCatchSpeciesFromLengthDetail", missingCatchSpeciesName)); + error.setDetailMessage(_("coser.business.control.error.missingCatchSpeciesFromLengthDetail", + project.getDisplaySpeciesText(missingCatchSpeciesName))); error.setTipMessage(_("coser.business.control.error.missingCatchSpeciesFromLengthTip")); crossFilesErrors.add(error); } @@ -1400,7 +1402,8 @@ error.setLevel(ValidationLevel.WARNING); error.setSpecies(missingLengthSpeciesName); error.setMessage(_("coser.business.control.error.missingLengthSpeciesFromCatch")); - error.setDetailMessage(_("coser.business.control.error.missingLengthSpeciesFromCatchDetail", missingLengthSpeciesName)); + error.setDetailMessage(_("coser.business.control.error.missingLengthSpeciesFromCatchDetail", + project.getDisplaySpeciesText(missingLengthSpeciesName))); error.setTipMessage(_("coser.business.control.error.missingLengthSpeciesFromCatchTip")); crossFilesErrors.add(error); } Modified: trunk/coser-business/src/main/java/fr/ifremer/coser/services/PublicationService.java =================================================================== --- trunk/coser-business/src/main/java/fr/ifremer/coser/services/PublicationService.java 2012-08-13 12:52:49 UTC (rev 1037) +++ trunk/coser-business/src/main/java/fr/ifremer/coser/services/PublicationService.java 2012-08-13 13:53:02 UTC (rev 1038) @@ -250,7 +250,8 @@ } } - JFreeChart chart = displayGraph(dataset, _("coser.business.chart.compareCatchLengthNumberTitle", species)); + JFreeChart chart = displayGraph(dataset, _("coser.business.chart.compareCatchLengthNumberTitle", + project.getDisplaySpeciesText(species))); charts.put(species, chart); } Modified: trunk/coser-business/src/test/java/fr/ifremer/coser/services/ControlServiceTest.java =================================================================== --- trunk/coser-business/src/test/java/fr/ifremer/coser/services/ControlServiceTest.java 2012-08-13 12:52:49 UTC (rev 1037) +++ trunk/coser-business/src/test/java/fr/ifremer/coser/services/ControlServiceTest.java 2012-08-13 13:53:02 UTC (rev 1038) @@ -135,23 +135,6 @@ } /** - * Test, si un poids est renseigné, la capture doit l'etre. - */ - @Test - public void testWeigthWithNonCapture() { - Control control = new Control(); - DataStorage dataCatch = new MemoryDataStorage(); - dataCatch.add(new String[]{"Line", "Campagne","Annee","Trait","Espece","Nombre","Poids"}); - dataCatch.add(new String[]{"1", "Test survey","1999","Testtrait","Test sp","0","12"}); - control.setCatch(dataCatch); - List<ControlError> errors = controlService.validateCategory(control, Category.CATCH, null); - if (log.isDebugEnabled()) { - log.debug("Validation errors = " + errors); - } - Assert.assertEquals(2, errors.size()); - } - - /** * Test si le pas de longueur est valid pour les poissons. */ @Test Modified: trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/control/ControlGraphFrame.jaxx =================================================================== --- trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/control/ControlGraphFrame.jaxx 2012-08-13 12:52:49 UTC (rev 1037) +++ trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/control/ControlGraphFrame.jaxx 2012-08-13 13:53:02 UTC (rev 1038) @@ -5,7 +5,7 @@ $Id$ $HeadURL$ %% - Copyright (C) 2010 Ifremer, Codelutin, Chatellier Eric + Copyright (C) 2010 - 2012 Ifremer, Codelutin, Chatellier Eric %% This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as @@ -32,8 +32,9 @@ <JLabel text="coser.ui.control.graph.species"/> </cell> <cell fill="horizontal"> - <SpecyComboModel id="specyComboModel" /> - <JComboBox model="{specyComboModel}" onActionPerformed="getHandler().updateCompareNumberCatchGraph(this)" /> + <SpecyComboModel id="speciesComboModel" /> + <JComboBox id="speciesCombo" model="{speciesComboModel}" + onActionPerformed="getHandler().updateCompareNumberCatchGraph(this)" /> </cell> </row> <row fill="both" weightx="1" weighty="1" columns="2"> Modified: trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/control/ControlHandler.java =================================================================== --- trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/control/ControlHandler.java 2012-08-13 12:52:49 UTC (rev 1037) +++ trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/control/ControlHandler.java 2012-08-13 13:53:02 UTC (rev 1038) @@ -81,6 +81,7 @@ import fr.ifremer.coser.CoserConstants.Category; import fr.ifremer.coser.CoserConstants.ValidationLevel; import fr.ifremer.coser.CoserException; +import fr.ifremer.coser.CoserUtils; import fr.ifremer.coser.bean.Project; import fr.ifremer.coser.command.Command; import fr.ifremer.coser.control.ControlError; @@ -438,7 +439,7 @@ view.getGlobalControlErrorTable().setAutoCreateColumnsFromModel(false); List<ControlError> errors = get(); - view.getGlobalControlErrorModel().setControlErrors(errors); + view.getGlobalControlErrorModel().setControlErrors(project, errors); // set errors list in each table model ControlDuplicatedLineTableModel catchModel = (ControlDuplicatedLineTableModel)view.getControlDataTableCatch().getModel(); @@ -987,8 +988,9 @@ SwingSession session = view.getContextValue(SwingSession.class); // get matrix (form context by method #checkData) + Project project = view.getContextValue(Project.class); Map<String, JFreeChart> charts = view.getContextValue(Map.class, "CompareCatchLengthGraph"); - List<String> species = new ArrayList<String>(charts.keySet()); + List<String> species = CoserUtils.sortCollectionWithMapKeys(project.getRefTaxSpeciesMap(), charts.keySet()); // close previous opened JFrame previousFrame = (JFrame)view.getContextValue(JFrame.class, "comparenumberframe"); @@ -999,11 +1001,12 @@ ControlGraphFrame frame = new ControlGraphFrame(view); frame.setHandler(ControlHandler.this); frame.setContextValue(charts); - frame.getSpecyComboModel().setSpecy(species); + frame.getSpeciesComboModel().setSpecy(species); if (selectedSpecies != null) { - frame.getSpecyComboModel().setSelectedItem(selectedSpecies); + frame.getSpeciesComboModel().setSelectedItem(selectedSpecies); updateCompareNumberCatchGraph(frame); } + frame.getSpeciesCombo().setRenderer(new SpeciesListRenderer(project.getRefTaxSpeciesMap())); frame.pack(); frame.setLocationRelativeTo(view); session.add(frame); // session restore @@ -1032,7 +1035,7 @@ * @param view view */ public void updateCompareNumberCatchGraph(ControlGraphFrame view) { - String specyName = (String)view.getSpecyComboModel().getSelectedItem(); + String specyName = (String)view.getSpeciesCombo().getSelectedItem(); Map<String, JFreeChart> charts = view.getContextValue(Map.class, "CompareCatchLengthGraph"); JFreeChart chart = charts.get(specyName); view.getControlGraphPanel().removeAll(); Modified: trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/control/GlobalControlErrorModel.java =================================================================== --- trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/control/GlobalControlErrorModel.java 2012-08-13 12:52:49 UTC (rev 1037) +++ trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/control/GlobalControlErrorModel.java 2012-08-13 13:53:02 UTC (rev 1038) @@ -36,6 +36,7 @@ import org.jdesktop.swingx.treetable.DefaultTreeTableModel; import fr.ifremer.coser.CoserConstants.ValidationLevel; +import fr.ifremer.coser.bean.Project; import fr.ifremer.coser.control.ControlError; import fr.ifremer.coser.control.ControlErrorGroup; import fr.ifremer.coser.control.DiffCatchLengthControlError; @@ -58,9 +59,9 @@ super(null); } - public void setControlErrors(List<ControlError> controlErrors) { + public void setControlErrors(Project project, List<ControlError> controlErrors) { this.controlErrors = controlErrors; - buildGlobalControlErrorTreeModel(controlErrors); + buildGlobalControlErrorTreeModel(project, controlErrors); checkedControlErrors = new HashSet<Object>(); } @@ -74,7 +75,7 @@ * * @param errors errors list to render */ - protected void buildGlobalControlErrorTreeModel(List<ControlError> validationErrors) { + protected void buildGlobalControlErrorTreeModel(Project project, List<ControlError> validationErrors) { Map<Object, DefaultMutableTreeTableNode> nodeCache = new HashMap<Object, DefaultMutableTreeTableNode>(); DefaultMutableTreeTableNode root = new DefaultMutableTreeTableNode(null); @@ -106,7 +107,8 @@ if (validationError instanceof DiffCatchLengthControlError) { DiffCatchLengthControlError diffCatchError = (DiffCatchLengthControlError)validationError; String species = diffCatchError.getSpecies(); - String speciesCategory = _("coser.ui.control.error.diffcatchlenghtspecies", species); + String speciesCategory = _("coser.ui.control.error.diffcatchlenghtspecies", + project.getDisplaySpeciesText(species)); ControlErrorGroup group = new ControlErrorGroup(validationError.getCategory(), validationError.getLevel(), speciesCategory); DefaultMutableTreeTableNode newParent = nodeCache.get(speciesCategory); 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 2012-08-13 12:52:49 UTC (rev 1037) +++ trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/selection/SelectionHandler.java 2012-08-13 13:53:02 UTC (rev 1038) @@ -3,7 +3,7 @@ * $Id$ * $HeadURL$ * %% - * Copyright (C) 2010 Codelutin, Chatellier Eric + * Copyright (C) 2010 - 2012 Ifremer, Codelutin, Chatellier Eric * %% * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as @@ -53,7 +53,6 @@ import jaxx.runtime.JAXXUtil; -import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -1154,7 +1153,8 @@ ControlGraphFrame frame = new ControlGraphFrame(view); frame.setHandler(new ControlHandler()); frame.setContextValue(charts); - frame.getSpecyComboModel().setSpecy(species); + frame.getSpeciesComboModel().setSpecy(species); + frame.getSpeciesCombo().setRenderer(new SpeciesListRenderer(project.getRefTaxSpeciesMap())); frame.pack(); frame.setLocationRelativeTo(view); session.add(frame); // session restore
participants (1)
-
echatellier@users.forge.codelutin.com