Changeset 17130 in josm


Ignore:
Timestamp:
2020-10-08T23:32:32+02:00 (4 years ago)
Author:
simon04
Message:

see #16995 - Remove WayPoint.LegacyMap (to be removed mid 2019)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/data/gpx/WayPoint.java

    r16870 r17130  
    6464     */
    6565    public WayPoint(WayPoint p) {
    66         attr = new LegacyMap();
     66        attr = new HashMap<>();
    6767        attr.putAll(p.attr);
    6868        attr.put(PT_TIME, p.getDate());
     
    8282     */
    8383    public WayPoint(LatLon ll) {
    84         attr = new LegacyMap();
     84        attr = new HashMap<>();
    8585        lat = ll.lat();
    8686        lon = ll.lon();
    87     }
    88 
    89     /**
    90      * Interim to detect legacy code that is not using {@code WayPoint.setTime(x)}
    91      * functions, but {@code attr.put(PT_TIME, (String) x)} logic.
    92      * To remove mid 2019
    93      */
    94     private static class LegacyMap extends HashMap<String, Object> {
    95         private static final long serialVersionUID = 1;
    96 
    97         LegacyMap() {
    98             super(0);
    99         }
    100 
    101         @Override
    102         public Object put(String key, Object value) {
    103             Object ret = null;
    104             if (!PT_TIME.equals(key) || value instanceof Date) {
    105                 ret = super.put(key, value);
    106             } else if (value instanceof String) {
    107                 ret = super.put(PT_TIME, DateUtils.fromString((String) value));
    108                 List<String> lastErrorAndWarnings = Logging.getLastErrorAndWarnings();
    109                 if (!lastErrorAndWarnings.isEmpty() && !lastErrorAndWarnings.get(0).contains("calling WayPoint.put")) {
    110                     StackTraceElement[] e = Thread.currentThread().getStackTrace();
    111                     int n = 1;
    112                     while (n < e.length && "put".equals(e[n].getMethodName())) {
    113                         n++;
    114                     }
    115                     if (n < e.length) {
    116                         Logging.warn("{0}:{1} calling WayPoint.put(PT_TIME, ..) is deprecated. " +
    117                             "Use WayPoint.setTime(..) instead.", e[n].getClassName(), e[n].getMethodName());
    118                     }
    119                 }
    120             }
    121             return ret;
    122         }
    12387    }
    12488
Note: See TracChangeset for help on using the changeset viewer.