Author: echatellier Date: 2012-08-21 12:06:08 +0200 (Tue, 21 Aug 2012) New Revision: 1064 Url: http://forge.codelutin.com/repositories/revision/coser/1064 Log: Dans l'?\195?\169tape de fusion/renommage d'esp?\195?\168ces : le commentaire n'est pas conserv?\195?\169 dans le rapport de s?\195?\169lection, ?\195?\160 corriger j'ai fait les fusions en nom scientifique et le rapport a enregistr?\195?\169 des fusions en code mn?\195?\169monique, ?\195?\160 corriger Dans l'?\195?\169tape de contr?\195?\180le des tailles, modifier le titre du warning "Longueurs aberrantes" en "Valeurs de longueurs ?\195?\160 contr?\195?\180ler" Modified: trunk/coser-business/src/main/java/fr/ifremer/coser/command/Command.java trunk/coser-business/src/main/java/fr/ifremer/coser/command/DeleteLineCommand.java trunk/coser-business/src/main/java/fr/ifremer/coser/command/MergeSpeciesCommand.java trunk/coser-business/src/main/java/fr/ifremer/coser/command/ModifyFieldCommand.java trunk/coser-business/src/main/java/fr/ifremer/coser/services/PublicationService.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/ContainerRedoMenu.java trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/ContainerUndoMenu.java trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/selection/replay/CommandListRenderer.java trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/selection/replay/SelectionReplayHandler.java trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/selection/replay/SelectionReplayView.jaxx Modified: trunk/coser-business/src/main/java/fr/ifremer/coser/command/Command.java =================================================================== --- trunk/coser-business/src/main/java/fr/ifremer/coser/command/Command.java 2012-08-20 16:57:24 UTC (rev 1063) +++ trunk/coser-business/src/main/java/fr/ifremer/coser/command/Command.java 2012-08-21 10:06:08 UTC (rev 1064) @@ -126,19 +126,21 @@ /** * Return human readable string for log output. * + * @param project used to convert species code * @param container rarement utile, mais dans certains cas, sert a avoir les * vrais valeur de champs au lieu des noms techniques * @return log representation */ - public abstract String getLogString(AbstractDataContainer container); + public abstract String getLogString(Project project, AbstractDataContainer container); /** * Return human readable string for ui display (used in selection replay, * and undo redo commands). * + * @param project used to convert species code * @param container rarement utile, mais dans certains cas, sert a avoir les * vrais valeur de champs au lieu des noms techniques * @return string description (i18n) */ - public abstract String getDescription(AbstractDataContainer container); + public abstract String getDescription(Project project, AbstractDataContainer container); } Modified: trunk/coser-business/src/main/java/fr/ifremer/coser/command/DeleteLineCommand.java =================================================================== --- trunk/coser-business/src/main/java/fr/ifremer/coser/command/DeleteLineCommand.java 2012-08-20 16:57:24 UTC (rev 1063) +++ trunk/coser-business/src/main/java/fr/ifremer/coser/command/DeleteLineCommand.java 2012-08-21 10:06:08 UTC (rev 1064) @@ -182,12 +182,12 @@ } @Override - public String getLogString(AbstractDataContainer container) { + public String getLogString(Project project, AbstractDataContainer container) { return _("coser.business.command.deleteline.log", _(category.getTranslationKey()), lineNumber); } @Override - public String getDescription(AbstractDataContainer container) { + public String getDescription(Project project, AbstractDataContainer container) { String desc = _("coser.business.command.deleteline.desc", _(category.getTranslationKey()), lineNumber); if (StringUtils.isNotBlank(comment)) { desc += " (" + comment + ")"; Modified: trunk/coser-business/src/main/java/fr/ifremer/coser/command/MergeSpeciesCommand.java =================================================================== --- trunk/coser-business/src/main/java/fr/ifremer/coser/command/MergeSpeciesCommand.java 2012-08-20 16:57:24 UTC (rev 1063) +++ trunk/coser-business/src/main/java/fr/ifremer/coser/command/MergeSpeciesCommand.java 2012-08-21 10:06:08 UTC (rev 1064) @@ -374,25 +374,41 @@ } @Override - public String getLogString(AbstractDataContainer container) { - String speciesAsString = StringUtils.join(speciesNames, ", "); + public String getLogString(Project project, AbstractDataContainer container) { + StringBuilder speciesAsString = new StringBuilder(256); + String separator = ""; + for (String speciesName : speciesNames) { + speciesAsString.append(separator); + speciesAsString.append(project.getDisplaySpeciesText(speciesName)); + separator = ", "; + } String log = null; if (speciesNames.length == 1) { - log = _("coser.business.command.mergespecies.rename.log", newSpecyName, speciesAsString); + log = _("coser.business.command.mergespecies.rename.log", + project.getDisplaySpeciesText(newSpecyName), speciesAsString.toString()); } else { - log = _("coser.business.command.mergespecies.log", newSpecyName, speciesAsString); + log = _("coser.business.command.mergespecies.log", + project.getDisplaySpeciesText(newSpecyName), speciesAsString.toString()); } return log; } @Override - public String getDescription(AbstractDataContainer container) { - String speciesAsString = StringUtils.join(speciesNames, ", "); + public String getDescription(Project project, AbstractDataContainer container) { + StringBuilder speciesAsString = new StringBuilder(256); + String separator = ""; + for (String speciesName : speciesNames) { + speciesAsString.append(separator); + speciesAsString.append(project.getDisplaySpeciesText(speciesName)); + separator = ", "; + } String desc = null; if (speciesNames.length == 1) { - desc = _("coser.business.command.mergespecies.rename.desc", newSpecyName, speciesNames.length, speciesAsString); + desc = _("coser.business.command.mergespecies.rename.desc", + project.getDisplaySpeciesText(newSpecyName), speciesNames.length, speciesAsString.toString()); } else { - desc = _("coser.business.command.mergespecies.desc", newSpecyName, speciesNames.length, speciesAsString); + desc = _("coser.business.command.mergespecies.desc", + project.getDisplaySpeciesText(newSpecyName), speciesNames.length, speciesAsString.toString()); } if (StringUtils.isNotBlank(comment)) { desc += " (" + comment + ")"; Modified: trunk/coser-business/src/main/java/fr/ifremer/coser/command/ModifyFieldCommand.java =================================================================== --- trunk/coser-business/src/main/java/fr/ifremer/coser/command/ModifyFieldCommand.java 2012-08-20 16:57:24 UTC (rev 1063) +++ trunk/coser-business/src/main/java/fr/ifremer/coser/command/ModifyFieldCommand.java 2012-08-21 10:06:08 UTC (rev 1064) @@ -222,13 +222,13 @@ } @Override - public String getLogString(AbstractDataContainer container) { + public String getLogString(Project project, AbstractDataContainer container) { String realFieldName = getRealFieldName(container); return _("coser.business.command.modifyfield.log", _(category.getTranslationKey()), lineNumber, realFieldName, currentValue, newValue); } @Override - public String getDescription(AbstractDataContainer container) { + public String getDescription(Project project, AbstractDataContainer container) { String realFieldName = getRealFieldName(container); String desc = _("coser.business.command.modifyfield.desc", _(category.getTranslationKey()), lineNumber, realFieldName, currentValue, newValue); if (StringUtils.isNotBlank(comment)) { 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-20 16:57:24 UTC (rev 1063) +++ trunk/coser-business/src/main/java/fr/ifremer/coser/services/PublicationService.java 2012-08-21 10:06:08 UTC (rev 1064) @@ -631,7 +631,7 @@ for (String speciesCode : selection.getSelectedSpecies()) { speciesBuilder.append(separator); speciesBuilder.append(project.getDisplaySpeciesText(speciesCode)); - separator = ","; + separator = ", "; } // partie resumé de selection @@ -780,6 +780,7 @@ category = ((CategoryLineCommand)command).getCategory(); line = ((CategoryLineCommand)command).getLineNumber(); } + out.write("<li>"); if (category != null && line != null) { String[] data = null; switch (category) { @@ -796,12 +797,16 @@ data = strataContent.get(line); break; } - out.write("<li>" + command.getLogString(container) + "<br/>"); - out.write("<tt style='color:#5F5A59'>" + StringUtils.join(data, ", ") + "</tt><br /></li>"); + out.write(command.getLogString(project, container) + "<br/>"); + out.write("<tt style='color:#5F5A59'>" + StringUtils.join(data, ", ") + "</tt>"); + } else { + out.write(command.getLogString(project, container)); } - else { - out.write("<li>" + command.getLogString(container) + "</li>"); + // add comment if present + if (StringUtils.isNotEmpty(command.getComment())) { + out.write("<br /><i>" + command.getComment() + "</i>"); } + out.write("</li>"); } out.write("</ol>"); } 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 2012-08-20 16:57:24 UTC (rev 1063) +++ trunk/coser-business/src/main/resources/i18n/coser-business_en_GB.properties 2012-08-21 10:06:08 UTC (rev 1064) @@ -52,8 +52,8 @@ coser.business.control.error.invalidLengthLengthStep=Invalid length step (authorized centimeters and half-centimeters) coser.business.control.error.invalidLengthLengthStepDetail=Invalid length step %s for species %s coser.business.control.error.invalidLengthLengthStepTip=Length field must be in centimeters. -coser.business.control.error.lengthOutliers=Aberrants lengths -coser.business.control.error.lengthOutliersDetail=Species %s \: length %4$s aberrant (average\: %2$.2f, deviation\: %3$.2f) +coser.business.control.error.lengthOutliers=Lengths values to control +coser.business.control.error.lengthOutliersDetail=Species %s \: length %4$s to control (average\: %2$.2f, deviation\: %3$.2f) coser.business.control.error.minObservationCount=Minimum number of observation not reached coser.business.control.error.minObservationCountDetail=Minimum number of observation not reached (%s) \: %.2f coser.business.control.error.missingCatchHaulFromHaul=Missing haul file hauls in catch file 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 2012-08-20 16:57:24 UTC (rev 1063) +++ trunk/coser-business/src/main/resources/i18n/coser-business_fr_FR.properties 2012-08-21 10:06:08 UTC (rev 1064) @@ -52,8 +52,8 @@ coser.business.control.error.invalidLengthLengthStep=Le pas de longueur est invalide (autorisé centimètre et demi-centimètre) coser.business.control.error.invalidLengthLengthStepDetail=Le pas longueur %s est invalide pour l'espèce %s coser.business.control.error.invalidLengthLengthStepTip=Le champs de longueur doit être en centimètre (ou demi centimètre) -coser.business.control.error.lengthOutliers=Longueurs aberrantes -coser.business.control.error.lengthOutliersDetail=Espèce %s \: longueur %4$s aberrantes (moyenne\: %2$.2f, écart\: %3$.2f) +coser.business.control.error.lengthOutliers=Valeurs de longueurs à contrôler +coser.business.control.error.lengthOutliersDetail=Espèce %s \: longueur %4$s à contrôler (moyenne\: %2$.2f, écart\: %3$.2f) coser.business.control.error.minObservationCount=Nombre minimal d'observation non atteint coser.business.control.error.minObservationCountDetail=Nombre minimal d'observation non atteint (%s) \: %.2f coser.business.control.error.missingCatchHaulFromHaul=Traits du fichier traits absents dans le fichier captures Modified: trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/ContainerRedoMenu.java =================================================================== --- trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/ContainerRedoMenu.java 2012-08-20 16:57:24 UTC (rev 1063) +++ trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/ContainerRedoMenu.java 2012-08-21 10:06:08 UTC (rev 1064) @@ -38,6 +38,7 @@ import fr.ifremer.coser.bean.AbstractDataContainer; import fr.ifremer.coser.bean.Control; +import fr.ifremer.coser.bean.Project; import fr.ifremer.coser.command.Command; import fr.ifremer.coser.ui.control.ControlView; @@ -108,12 +109,13 @@ if (controlView != null && controlView.getControl() != null) { Control control = controlView.getControl(); + Project project = controlView.getContextValue(Project.class); menuEnabled = !redoableCommands.isEmpty(); // command in reverse order (only 10 last) for (int i = redoableCommands.size() - 1 ; i >= 0 && i > redoableCommands.size() - 10 ; i--) { Command command = redoableCommands.get(i); - JMenuItem commandMenu = new JMenuItem(command.getDescription(control)); + JMenuItem commandMenu = new JMenuItem(command.getDescription(project, control)); commandMenu.setActionCommand(String.valueOf(i)); commandMenu.addActionListener(this); add(commandMenu); Modified: trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/ContainerUndoMenu.java =================================================================== --- trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/ContainerUndoMenu.java 2012-08-20 16:57:24 UTC (rev 1063) +++ trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/ContainerUndoMenu.java 2012-08-21 10:06:08 UTC (rev 1064) @@ -38,6 +38,7 @@ import fr.ifremer.coser.bean.AbstractDataContainer; import fr.ifremer.coser.bean.Control; +import fr.ifremer.coser.bean.Project; import fr.ifremer.coser.command.Command; import fr.ifremer.coser.ui.control.ControlView; @@ -98,13 +99,14 @@ if (controlView != null && controlView.getControl() != null) { Control control = controlView.getControl(); + Project project = controlView.getContextValue(Project.class); List<Command> commands = controlView.getControl().getHistoryCommands(); menuEnabled = !commands.isEmpty(); // command in reverse order (only 10 last) for (int i = commands.size() - 1 ; i >= 0 && i > commands.size() - 10 ; i--) { Command command = commands.get(i); - JMenuItem commandMenu = new JMenuItem(command.getDescription(control)); + JMenuItem commandMenu = new JMenuItem(command.getDescription(project, control)); commandMenu.setActionCommand(String.valueOf(i)); commandMenu.addActionListener(this); add(commandMenu); Modified: trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/selection/replay/CommandListRenderer.java =================================================================== --- trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/selection/replay/CommandListRenderer.java 2012-08-20 16:57:24 UTC (rev 1063) +++ trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/selection/replay/CommandListRenderer.java 2012-08-21 10:06:08 UTC (rev 1064) @@ -28,6 +28,7 @@ import javax.swing.DefaultListCellRenderer; import javax.swing.JList; +import fr.ifremer.coser.bean.Project; import fr.ifremer.coser.command.Command; /** @@ -44,6 +45,12 @@ /** serialVersionUID. */ private static final long serialVersionUID = 6780656602646606040L; + protected Project project; + + public CommandListRenderer(Project project) { + this.project = project; + } + @Override public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { @@ -52,7 +59,7 @@ // can be null here. Renderer is currently used only un selection // replay where merge command don't use container to get desc - String commandDesc = command.getDescription(null); + String commandDesc = command.getDescription(project, null); // is selected is forced to "true", because user can't disable // command in replay selection as of coser version 1.2.x Modified: trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/selection/replay/SelectionReplayHandler.java =================================================================== --- trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/selection/replay/SelectionReplayHandler.java 2012-08-20 16:57:24 UTC (rev 1063) +++ trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/selection/replay/SelectionReplayHandler.java 2012-08-21 10:06:08 UTC (rev 1064) @@ -74,10 +74,14 @@ */ public void initReplayView(SelectionReplayView view) { ProjectService projectService = view.getContextValue(ProjectService.class); + Project project = view.getContextValue(Project.class); SortedMap<String, List<String>> selectionsByProject = projectService.getSelectionByProject(); SelectionByProjectTreeModel treeModel = new SelectionByProjectTreeModel(selectionsByProject); view.getSelectionByProjectTree().setModel(treeModel); + + // set list renderer with project to replace species code + view.getCommandList().setCellRenderer(new CommandListRenderer(project)); } /** @@ -268,7 +272,7 @@ for (String species : remaindSpecies) { speciesBuilder.append(separator); speciesBuilder.append(project.getDisplaySpeciesText(species)); - separator = ","; + separator = ", "; } String message = _("coser.ui.selection.replay.missingspecies", speciesBuilder.toString()); view.getMessageArea5().setText(message); Modified: trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/selection/replay/SelectionReplayView.jaxx =================================================================== --- trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/selection/replay/SelectionReplayView.jaxx 2012-08-20 16:57:24 UTC (rev 1063) +++ trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/selection/replay/SelectionReplayView.jaxx 2012-08-21 10:06:08 UTC (rev 1064) @@ -183,8 +183,7 @@ <cell weightx="1" weighty="1" fill="both" columns="3"> <JScrollPane> <fr.ifremer.coser.ui.selection.replay.CommandListModel id="commandListModel" /> - <JList id="commandList" model="{commandListModel}" - cellRenderer="{new fr.ifremer.coser.ui.selection.replay.CommandListRenderer()}"/> + <JList id="commandList" model="{commandListModel}" /> </JScrollPane> </cell> </row>