Changeset 14165 in josm
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/data/validation/util/MultipleNameVisitor.java
r11553 r14165 5 5 6 6 import java.util.Collection; 7 import java.util.Optional;8 7 9 8 import javax.swing.Icon; 10 9 import javax.swing.JLabel; 11 10 11 import org.openstreetmap.josm.data.osm.DefaultNameFormatter; 12 12 import org.openstreetmap.josm.data.osm.OsmPrimitive; 13 import org.openstreetmap.josm.data.preferences.IntegerProperty; 13 14 import org.openstreetmap.josm.tools.ImageProvider; 14 15 … … 23 24 * Maximum displayed length, in characters. 24 25 */ 25 public static final intMULTIPLE_NAME_MAX_LENGTH =80;26 public static final IntegerProperty MULTIPLE_NAME_MAX_LENGTH = new IntegerProperty("multiple.name.max.length", 140); 26 27 27 28 /** The class name of the combined primitives */ … … 43 44 multipleClassname = null; 44 45 for (OsmPrimitive osm : data) { 45 String name = Optional.ofNullable(osm.get("name")).orElseGet(() -> osm.get("ref"));46 if (name != null && !name.isEmpty() && multipleName.length() <= MULTIPLE_NAME_MAX_LENGTH) { 46 String name = osm.getDisplayName(DefaultNameFormatter.getInstance()); 47 if (name != null && !name.isEmpty() && multipleName.length() <= MULTIPLE_NAME_MAX_LENGTH.get()) { 47 48 if (multipleName.length() > 0) { 48 49 multipleName.append(", "); … … 67 68 if (multipleName.length() > 0) { 68 69 sb.append(": "); 69 if (multipleName.length() <= MULTIPLE_NAME_MAX_LENGTH) { 70 if (multipleName.length() <= MULTIPLE_NAME_MAX_LENGTH.get()) { 70 71 sb.append(multipleName); 71 72 } else { 72 sb.append(multipleName.substring(0, MULTIPLE_NAME_MAX_LENGTH)).append("..."); 73 sb.append(multipleName.substring(0, MULTIPLE_NAME_MAX_LENGTH.get())).append("..."); 73 74 } 74 75 } -
trunk/test/unit/org/openstreetmap/josm/data/validation/util/MultipleNameVisitorTest.java
r10962 r14165 8 8 import org.junit.Rule; 9 9 import org.junit.Test; 10 import org.openstreetmap.josm.TestUtils; 10 11 import org.openstreetmap.josm.data.osm.Way; 11 12 import org.openstreetmap.josm.testutils.JOSMTestRules; … … 32 33 MultipleNameVisitor visitor = new MultipleNameVisitor(); 33 34 visitor.visit(Arrays.asList(new Way(), new Way())); 34 assertEquals("2 ways", visitor.toString()); 35 assertEquals("2 ways: 0 (0 nodes), 0 (0 nodes)", visitor.toString()); 36 } 37 38 /** 39 * Non-regression test for bug #16652. 40 */ 41 @Test 42 public void testTicket16652() { 43 MultipleNameVisitor visitor = new MultipleNameVisitor(); 44 visitor.visit(Arrays.asList( 45 TestUtils.newNode("name=foo"), 46 TestUtils.newWay("addr:housename=Stark"), 47 TestUtils.newRelation("type=route"))); 48 assertEquals("3 objects: foo, House Stark (0 nodes), route (0, 0 members)", visitor.toString()); 35 49 } 36 50 }
Note:
See TracChangeset
for help on using the changeset viewer.