Changeset 11132 in josm


Ignore:
Timestamp:
2016-10-15T21:45:25+02:00 (8 years ago)
Author:
simon04
Message:

fix #11072 - Sort validator warnings

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/dialogs/validator/ValidatorTreePanel.java

    r11128 r11132  
    1515import java.util.Map;
    1616import java.util.Set;
     17import java.util.TreeMap;
    1718import java.util.function.Predicate;
    1819import java.util.stream.Collectors;
     
    3435import org.openstreetmap.josm.gui.preferences.validator.ValidatorPreference;
    3536import org.openstreetmap.josm.gui.util.GuiHelper;
     37import org.openstreetmap.josm.tools.AlphanumComparator;
    3638import org.openstreetmap.josm.tools.Destroyable;
    3739import org.openstreetmap.josm.tools.ListenerList;
     
    180182            = errors.stream().filter(filterToUse).collect(
    181183                    Collectors.groupingBy(TestError::getSeverity, () -> new EnumMap<>(Severity.class),
    182                             Collectors.groupingBy(TestError::getMessage,
    183                                     Collectors.groupingBy(e -> e.getDescription() == null ? "" : e.getDescription()
     184                            Collectors.groupingBy(TestError::getMessage, () -> new TreeMap<>(AlphanumComparator.getInstance()),
     185                                    Collectors.groupingBy(e -> e.getDescription() == null ? "" : e.getDescription(),
     186                                            () -> new TreeMap<>(AlphanumComparator.getInstance()),
     187                                            Collectors.toList()
    184188                                    ))));
    185189
     
    230234                    if (groupNode != null) {
    231235                        msg = tr("{0} ({1})", description, errors.size());
     236                    } else if (description == null || description.isEmpty()) {
     237                        msg = tr("{0} ({1})", message, errors.size());
    232238                    } else {
    233239                        msg = tr("{0} - {1} ({2})", message, description, errors.size());
  • trunk/test/unit/org/openstreetmap/josm/gui/dialogs/validator/ValidatorTreePanelTest.java

    r11129 r11132  
    99import java.util.Arrays;
    1010import java.util.Collections;
     11import java.util.Enumeration;
    1112import java.util.HashSet;
    1213import java.util.Set;
     
    4748                        .build(),
    4849                TestError.builder(null, Severity.WARNING, 0)
    49                         .message("warn")
     50                        .message("warn", "foo")
     51                        .primitives(new Node(2))
     52                        .build(),
     53                TestError.builder(null, Severity.WARNING, 0)
     54                        .message("warn", "bar")
    5055                        .primitives(new Node(2))
    5156                        .build())));
    5257        assertNotNull(vtp);
    53         assertEquals(2, vtp.getErrors().size());
     58        final Enumeration nodes = vtp.getRoot().breadthFirstEnumeration();
     59        assertEquals("", nodes.nextElement().toString());
     60        assertEquals("Errors (1)", nodes.nextElement().toString());
     61        assertEquals("Warnings (2)", nodes.nextElement().toString());
     62        assertEquals("err (1)", nodes.nextElement().toString());
     63        assertEquals("warn (2)", nodes.nextElement().toString());
     64        nodes.nextElement();
     65        assertEquals("bar (1)", nodes.nextElement().toString());
     66        assertEquals("foo (1)", nodes.nextElement().toString());
    5467        vtp.setVisible(true);
    5568        vtp.setVisible(false);
Note: See TracChangeset for help on using the changeset viewer.