Ignore:
Timestamp:
2011-11-20T20:47:15+01:00 (12 years ago)
Author:
bastiK
Message:

upgrade historic users to real users, so their CT status can be shown in the history panel

Location:
trunk/src/org/openstreetmap/josm/gui/history
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/history/HistoryBrowserModel.java

    r4601 r4602  
    4141import org.openstreetmap.josm.gui.layer.Layer;
    4242import org.openstreetmap.josm.gui.layer.OsmDataLayer;
     43import org.openstreetmap.josm.io.XmlWriter;
    4344import org.openstreetmap.josm.tools.CheckParameterUtil;
    4445import org.openstreetmap.josm.tools.Diff;
     
    420421            case 2:
    421422                return isCurrentPointInTime(row);
    422             case 3:
    423                 long uId = getPrimitive(row).getUid();
    424                 User user = User.getById(uId);
    425                 int status;
    426                 if (user == null) {
    427                     status = User.STATUS_UNKNOWN;
    428                 } else {
    429                     status = user.getRelicensingStatus();
     423            case 3: {
     424                    User user = getPrimitive(row).getUser();
     425                    int status;
     426                    if (user == null) {
     427                        status = User.STATUS_UNKNOWN;
     428                    } else {
     429                        status = user.getRelicensingStatus();
     430                    }
     431                    return UserListDialog.getRelicensingStatusIcon(status);
    430432                }
    431                 return UserListDialog.getRelicensingStatusIcon(status);
    432433            case 4: {
    433434                    HistoryOsmPrimitive p = getPrimitive(row);
     
    438439            case 5: {
    439440                    HistoryOsmPrimitive p = getPrimitive(row);
    440                     if (p != null)
    441                         return "<html>"+p.getUser() + " <font color=gray>(" + p.getUid() + ")</font></html>";
     441                    if (p != null) {
     442                        User user = p.getUser();
     443                        if (user != null)
     444                            return "<html>" + XmlWriter.encode(user.getName()) + " <font color=gray>(" + user.getId() + ")</font></html>";
     445                    }
    442446                    return null;
    443447                }
     
    868872        private HistoryOsmPrimitive clone;
    869873
    870         private String getUserName(OsmPrimitive primitive) {
    871             return primitive.getUser() == null?null:primitive.getUser().getName();
    872         }
    873 
    874         private long getUserId(OsmPrimitive primitive) {
    875             return primitive.getUser() == null?0:primitive.getUser().getId();
    876         }
    877 
    878874        public void visit(Node n) {
    879             clone = new HistoryNode(n.getId(), n.getVersion(), n.isVisible(), getUserName(n), getUserId(n), 0, n.getTimestamp(), n.getCoor());
     875            clone = new HistoryNode(n.getId(), n.getVersion(), n.isVisible(), n.getUser(), 0, n.getTimestamp(), n.getCoor());
    880876            clone.setTags(n.getKeys());
    881877        }
    882878
    883879        public void visit(Relation r) {
    884             clone = new HistoryRelation(r.getId(), r.getVersion(), r.isVisible(), getUserName(r), getUserId(r), 0, r.getTimestamp());
     880            clone = new HistoryRelation(r.getId(), r.getVersion(), r.isVisible(), r.getUser(), 0, r.getTimestamp());
    885881            clone.setTags(r.getKeys());
    886882            HistoryRelation hr = (HistoryRelation)clone;
     
    891887
    892888        public void visit(Way w) {
    893             clone = new HistoryWay(w.getId(), w.getVersion(), w.isVisible(), getUserName(w), getUserId(w), 0, w.getTimestamp());
     889            clone = new HistoryWay(w.getId(), w.getVersion(), w.isVisible(), w.getUser(), 0, w.getTimestamp());
    894890            clone.setTags(w.getKeys());
    895891            for (Node n: w.getNodes()) {
  • trunk/src/org/openstreetmap/josm/gui/history/VersionInfoPanel.java

    r4299 r4602  
    1919import org.openstreetmap.josm.Main;
    2020import org.openstreetmap.josm.actions.AbstractInfoAction;
     21import org.openstreetmap.josm.data.osm.User;
    2122import org.openstreetmap.josm.data.osm.history.HistoryOsmPrimitive;
    2223import org.openstreetmap.josm.gui.JMultilineLabel;
     
    135136
    136137            try {
    137                 if (getPrimitive().getUid() != -1) {
    138                     url = AbstractInfoAction.getBaseUserUrl() + "/" +  URLEncoder.encode(getPrimitive().getUser(), "UTF-8").replaceAll("\\+", "%20");
     138                if (getPrimitive().getUser() != null && getPrimitive().getUser() != User.getAnonymous()) {
     139                    url = AbstractInfoAction.getBaseUserUrl() + "/" +  URLEncoder.encode(getPrimitive().getUser().getName(), "UTF-8").replaceAll("\\+", "%20");
    139140                    lblUser.setUrl(url);
    140141                } else {
     
    145146                lblUser.setUrl(null);
    146147            }
    147             String username = getPrimitive().getUser();
     148            String username = "";
     149            if (getPrimitive().getUser() != null) {
     150                username = getPrimitive().getUser().getName();
     151            }
    148152            lblUser.setDescription(username);
    149153        } else {
Note: See TracChangeset for help on using the changeset viewer.