Ignore:
Timestamp:
2011-08-26T21:34:44+02:00 (13 years ago)
Author:
stoecker
Message:

fix #6592 - patch by simon04 - Exception showing history of incomplete objects

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/data/osm/history/HistoryOsmPrimitive.java

    r3083 r4339  
    1111import java.util.Map;
    1212
     13import org.openstreetmap.josm.data.osm.Node;
     14import org.openstreetmap.josm.data.osm.OsmPrimitive;
    1315import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
    1416import org.openstreetmap.josm.data.osm.PrimitiveId;
     17import org.openstreetmap.josm.data.osm.Relation;
    1518import org.openstreetmap.josm.data.osm.SimplePrimitiveId;
     19import org.openstreetmap.josm.data.osm.Way;
    1620import org.openstreetmap.josm.tools.CheckParameterUtil;
    1721
     
    7074    }
    7175
     76    public HistoryOsmPrimitive(OsmPrimitive p) {
     77        this(p.getId(), p.getVersion(), p.isVisible(),
     78                p.getUser() == null ? null : p.getUser().getName(),
     79                p.getUser() == null ? 0 : p.getUser().getId(),
     80                p.getChangesetId(), p.getTimestamp());
     81    }
     82
     83    public static HistoryOsmPrimitive forOsmPrimitive(OsmPrimitive p) {
     84        if (p instanceof Node) {
     85            return new HistoryNode((Node) p);
     86        } else if (p instanceof Way) {
     87            return new HistoryWay((Way) p);
     88        } else if (p instanceof Relation) {
     89            return new HistoryRelation((Relation) p);
     90        } else {
     91            return null;
     92        }
     93    }
     94
    7295    public long getId() {
    7396        return id;
Note: See TracChangeset for help on using the changeset viewer.