diff --git a/src/org/openstreetmap/josm/data/osm/User.java b/src/org/openstreetmap/josm/data/osm/User.java
index 738c62e..0d6bcc0 100644
|
a
|
b
|
|
| 5 | 5 | |
| 6 | 6 | import java.util.ArrayList; |
| 7 | 7 | import java.util.HashMap; |
| 8 | | import java.util.HashSet; |
| | 8 | import java.util.LinkedHashSet; |
| 9 | 9 | import java.util.List; |
| 10 | 10 | import java.util.Map; |
| 11 | 11 | import java.util.Objects; |
| 12 | | import java.util.Set; |
| 13 | | |
| 14 | | import org.openstreetmap.josm.tools.Utils; |
| 15 | 12 | |
| 16 | 13 | /** |
| 17 | 14 | * A simple class to keep a list of user names. |
| … |
… |
public static User getAnonymous() {
|
| 134 | 126 | } |
| 135 | 127 | |
| 136 | 128 | /** the user name */ |
| 137 | | private final Set<String> names = new HashSet<>(); |
| | 129 | private final LinkedHashSet<String> names = new LinkedHashSet<>(); |
| 138 | 130 | /** the user id */ |
| 139 | 131 | private final long uid; |
| 140 | 132 | |
| … |
… |
public static User getAnonymous() {
|
| 144 | 136 | * @return the user name. Never <code>null</code>, but may be the empty string |
| 145 | 137 | */ |
| 146 | 138 | public String getName() { |
| 147 | | return Utils.join("/", names); |
| | 139 | return names.isEmpty() ? "" : names.iterator().next(); |
| 148 | 140 | } |
| 149 | 141 | |
| 150 | 142 | /** |
| … |
… |
public void addName(String name) {
|
| 165 | 157 | names.add(name); |
| 166 | 158 | } |
| 167 | 159 | |
| | 160 | public void setPreferredName(String name) { |
| | 161 | if (names.size() == 1 && names.contains(name)) { |
| | 162 | return; |
| | 163 | } |
| | 164 | final LinkedHashSet<String> allNames = new LinkedHashSet<>(names); |
| | 165 | names.clear(); |
| | 166 | names.add(name); |
| | 167 | names.addAll(allNames); |
| | 168 | } |
| | 169 | |
| 168 | 170 | /** |
| 169 | 171 | * Returns true if the name is in the names list |
| 170 | 172 | * |
diff --git a/src/org/openstreetmap/josm/io/AbstractParser.java b/src/org/openstreetmap/josm/io/AbstractParser.java
index e947d40..6d0d796 100644
|
a
|
b
|
protected final HistoryOsmPrimitive createPrimitive(Attributes atts, OsmPrimitiv
|
| 116 | 116 | if (userStr != null) { |
| 117 | 117 | if (uid != null) { |
| 118 | 118 | user = User.createOsmUser(uid, userStr); |
| | 119 | user.setPreferredName(userStr); |
| 119 | 120 | } else { |
| 120 | 121 | user = User.createLocalUser(userStr); |
| 121 | 122 | } |