Changeset 2077 in josm for trunk/src/org/openstreetmap


Ignore:
Timestamp:
2009-09-07T23:06:19+02:00 (15 years ago)
Author:
Gubaer
Message:

Had to replace DataSet:getPrimitiveById(id) with DataSet:getPrimitiveById(id,type). Primitive ids are not globally unique, only per type of primitive.
Fixed problems in unit test, available unit tests passing again.

Location:
trunk/src/org/openstreetmap/josm
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/actions/UpdateSelectionAction.java

    r2025 r2077  
    1616import org.openstreetmap.josm.data.osm.Node;
    1717import org.openstreetmap.josm.data.osm.OsmPrimitive;
     18import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
    1819import org.openstreetmap.josm.data.osm.Relation;
    1920import org.openstreetmap.josm.data.osm.Way;
     
    3940     * @param id the primitive id
    4041     */
    41     protected void handlePrimitiveGoneException(long id) {
     42    protected void handlePrimitiveGoneException(long id, OsmPrimitiveType type) {
    4243        MultiFetchServerObjectReader reader = new MultiFetchServerObjectReader();
    43         reader.append(getCurrentDataSet(),id);
     44        reader.append(getCurrentDataSet(),id, type);
    4445        DataSet ds = null;
    4546        try {
     
    7374     *
    7475     */
    75     public void updatePrimitive(long id) throws IllegalStateException{
     76    public void updatePrimitive(OsmPrimitiveType type, long id) throws IllegalStateException{
    7677        if (getEditLayer() == null)
    7778            throw new IllegalStateException(tr("No current dataset found"));
    78         OsmPrimitive primitive = getEditLayer().data.getPrimitiveById(id);
     79        OsmPrimitive primitive = getEditLayer().data.getPrimitiveById(id, type);
    7980        if (primitive == null)
    8081            throw new IllegalStateException(tr("Didn't find a primitive with id {0} in the current dataset", id));
  • trunk/src/org/openstreetmap/josm/actions/UploadAction.java

    r2074 r2077  
    4141import org.openstreetmap.josm.data.osm.DataSet;
    4242import org.openstreetmap.josm.data.osm.OsmPrimitive;
     43import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
    4344import org.openstreetmap.josm.gui.ExceptionDialogUtil;
    4445import org.openstreetmap.josm.gui.ExtendedDialog;
     
    191192     * @param id the primitive ID
    192193     */
    193     protected void synchronizePrimitive(final String id) {
    194         Main.worker.execute(new UpdatePrimitiveTask(Long.parseLong(id)));
     194    protected void synchronizePrimitive(final OsmPrimitiveType type, final long id) {
     195        Main.worker.execute(new UpdatePrimitiveTask(type, id));
    195196    }
    196197
     
    217218     * @param myVersion  the version of the primitive in the local dataset
    218219     */
    219     protected void handleUploadConflictForKnownConflict(String primitiveType, String id, String serverVersion, String myVersion) {
     220    protected void handleUploadConflictForKnownConflict(OsmPrimitiveType primitiveType, long id, String serverVersion, String myVersion) {
    220221        Object[] options = new Object[] {
    221                 tr("Synchronize {0} {1} only", tr(primitiveType), id),
     222                tr("Synchronize {0} {1} only", tr(primitiveType.getAPIName()), id),
    222223                tr("Synchronize entire dataset"),
    223224                tr("Cancel")
     
    232233                + "Click <strong>{5}</strong> to synchronize the entire local dataset with the server.<br>"
    233234                + "Click <strong>{6}</strong> to abort and continue editing.<br></html>",
    234                 tr(primitiveType), id, serverVersion, myVersion,
     235                tr(primitiveType.getAPIName()), id, serverVersion, myVersion,
    235236                options[0], options[1], options[2]
    236237        );
     
    247248        );
    248249        switch(ret) {
    249             case JOptionPane.CLOSED_OPTION: return;
    250             case JOptionPane.CANCEL_OPTION: return;
    251             case 0: synchronizePrimitive(id); break;
    252             case 1: synchronizeDataSet(); break;
    253             default:
    254                 // should not happen
    255                 throw new IllegalStateException(tr("unexpected return value. Got {0}", ret));
     250        case JOptionPane.CLOSED_OPTION: return;
     251        case JOptionPane.CANCEL_OPTION: return;
     252        case 0: synchronizePrimitive(primitiveType, id); break;
     253        case 1: synchronizeDataSet(); break;
     254        default:
     255            // should not happen
     256            throw new IllegalStateException(tr("unexpected return value. Got {0}", ret));
    256257        }
    257258    }
     
    287288        );
    288289        switch(ret) {
    289             case JOptionPane.CLOSED_OPTION: return;
    290             case 1: return;
    291             case 0: synchronizeDataSet(); break;
    292             default:
    293                 // should not happen
    294                 throw new IllegalStateException(tr("unexpected return value. Got {0}", ret));
     290        case JOptionPane.CLOSED_OPTION: return;
     291        case 1: return;
     292        case 0: synchronizeDataSet(); break;
     293        default:
     294            // should not happen
     295            throw new IllegalStateException(tr("unexpected return value. Got {0}", ret));
    295296        }
    296297    }
     
    306307        Matcher m = p.matcher(e.getErrorHeader());
    307308        if (m.matches()) {
    308             handleUploadConflictForKnownConflict(m.group(3), m.group(4), m.group(2),m.group(1));
     309            handleUploadConflictForKnownConflict(OsmPrimitiveType.from(m.group(3)), Long.parseLong(m.group(4)), m.group(2),m.group(1));
    309310        } else {
    310311            logger.warning(tr("Warning: error header \"{0}\" did not match expected pattern \"{1}\"", e.getErrorHeader(),pattern));
     
    326327     * @see UpdateSelectionAction#handlePrimitiveGoneException(long)
    327328     */
    328     protected void handleGoneForKnownPrimitive(String primitiveType, String id) {
     329    protected void handleGoneForKnownPrimitive(OsmPrimitiveType primitiveType, String id) {
    329330        UpdateSelectionAction act = new UpdateSelectionAction();
    330         act.handlePrimitiveGoneException(Long.parseLong(id));
     331        act.handlePrimitiveGoneException(Long.parseLong(id),primitiveType);
    331332    }
    332333
     
    344345        Matcher m = p.matcher(e.getErrorHeader());
    345346        if (m.matches()) {
    346             handleGoneForKnownPrimitive(m.group(1), m.group(2));
     347            handleGoneForKnownPrimitive(OsmPrimitiveType.from(m.group(1)), m.group(2));
    347348        } else {
    348349            logger.warning(tr("Error header \"{0}\" does not match expected pattern \"{1}\"",e.getErrorHeader(), pattern));
     
    424425        private Exception lastException = null;
    425426        private long id;
    426 
    427         public UpdatePrimitiveTask(long id) {
     427        private OsmPrimitiveType type;
     428
     429        public UpdatePrimitiveTask(OsmPrimitiveType type, long id) {
    428430            super(tr("Updating primitive"),false /* don't ignore exceptions */);
    429431            this.id = id;
     432            this.type = type;
    430433        }
    431434
     
    433436            try {
    434437                UpdateSelectionAction act = new UpdateSelectionAction();
    435                 act.updatePrimitive(id);
     438                act.updatePrimitive(type, id);
    436439            } catch (Exception sxe) {
    437440                if (uploadCancelled) {
  • trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadOsmTaskList.java

    r2017 r2077  
    125125        final OsmDataLayer editLayer = Main.map.mapView.getEditLayer();
    126126        if (editLayer != null) {
    127             Set<Long> myPrimitiveIds = editLayer.data.getCompletePrimitiveIds();
    128             Set<Long> downloadedIds = getDownloadedIds();
    129             myPrimitiveIds.removeAll(downloadedIds);
    130             myPrimitiveIds.remove(new Long(0)); // ignore new primitives
    131             if (! myPrimitiveIds.isEmpty()) {
    132                 handlePotentiallyDeletedPrimitives(myPrimitiveIds);
    133             }
    134         }
     127            Set<OsmPrimitive> myPrimitives = getCompletePrimitives(editLayer.data);
     128            for (DownloadTask task : osmTasks) {
     129                if(task instanceof DownloadOsmTask) {
     130                    DataSet ds = ((DownloadOsmTask)task).getDownloadedData();
     131                    if (ds != null) {
     132                        myPrimitives.removeAll(ds.nodes);
     133                        myPrimitives.removeAll(ds.ways);
     134                        myPrimitives.removeAll(ds.relations);
     135                    }
     136                }
     137            }
     138            if (! myPrimitives.isEmpty()) {
     139                handlePotentiallyDeletedPrimitives(myPrimitives);
     140            }
     141        }
     142    }
     143
     144
     145    /**
     146     * Replies the set of ids of all complete primitives (i.e. those with
     147     * ! primitive.incomplete)
     148     *
     149     * @return the set of ids of all complete primitives
     150     */
     151    protected Set<OsmPrimitive> getCompletePrimitives(DataSet ds) {
     152        HashSet<OsmPrimitive> ret = new HashSet<OsmPrimitive>();
     153        for (OsmPrimitive primitive : ds.nodes) {
     154            if (!primitive.incomplete && primitive.getId() == 0) {
     155                ret.add(primitive);
     156            }
     157        }
     158        for (OsmPrimitive primitive : ds.ways) {
     159            if (! primitive.incomplete && primitive.getId() == 0) {
     160                ret.add(primitive);
     161            }
     162        }
     163        for (OsmPrimitive primitive : ds.relations) {
     164            if (! primitive.incomplete && primitive.getId() == 0) {
     165                ret.add(primitive);;
     166            }
     167        }
     168        return ret;
    135169    }
    136170
     
    141175     * @param potentiallyDeleted a set of ids to check update from the server
    142176     */
    143     protected void updatePotentiallyDeletedPrimitives(Set<Long> potentiallyDeleted) {
    144         DataSet ds =  Main.map.mapView.getEditLayer().data;
     177    protected void updatePotentiallyDeletedPrimitives(Set<OsmPrimitive> potentiallyDeleted) {
    145178        final ArrayList<OsmPrimitive> toSelect = new ArrayList<OsmPrimitive>();
    146         for (Long id : potentiallyDeleted) {
    147             OsmPrimitive primitive = ds.getPrimitiveById(id);
     179        for (OsmPrimitive primitive : potentiallyDeleted) {
    148180            if (primitive != null) {
    149181                toSelect.add(primitive);
     
    167199     * @param potentiallyDeleted a set of primitives (given by their ids)
    168200     */
    169     protected void handlePotentiallyDeletedPrimitives(Set<Long> potentiallyDeleted) {
     201    protected void handlePotentiallyDeletedPrimitives(Set<OsmPrimitive> potentiallyDeleted) {
    170202        String [] options = {
    171203                "Check on the server",
     
    197229        );
    198230        switch(ret) {
    199             case JOptionPane.CLOSED_OPTION: return;
    200             case JOptionPane.NO_OPTION: return;
    201             case JOptionPane.YES_OPTION: updatePotentiallyDeletedPrimitives(potentiallyDeleted); break;
    202         }
    203     }
    204 
    205     /**
    206      * replies true, if the primitive with id <code>id</code> was downloaded into the
    207      * dataset <code>ds</code>
    208      *
    209      * @param id the id
    210      * @param ds the dataset
    211      * @return true, if the primitive with id <code>id</code> was downloaded into the
    212      * dataset <code>ds</code>; false otherwise
    213      */
    214     protected boolean wasDownloaded(long id, DataSet ds) {
    215         OsmPrimitive primitive = ds.getPrimitiveById(id);
    216         return primitive != null;
    217     }
    218 
    219     /**
    220      * replies true, if the primitive with id <code>id</code> was downloaded into the
    221      * dataset of one of the download tasks
    222      *
    223      * @param id the id
    224      * @return true, if the primitive with id <code>id</code> was downloaded into the
    225      * dataset of one of the download tasks
    226      *
    227      */
    228     public boolean wasDownloaded(long id) {
    229         for (DownloadTask task : osmTasks) {
    230             if(task instanceof DownloadOsmTask) {
    231                 DataSet ds = ((DownloadOsmTask)task).getDownloadedData();
    232                 if(wasDownloaded(id,ds)) return true;
    233             }
    234         }
    235         return false;
     231        case JOptionPane.CLOSED_OPTION: return;
     232        case JOptionPane.NO_OPTION: return;
     233        case JOptionPane.YES_OPTION: updatePotentiallyDeletedPrimitives(potentiallyDeleted); break;
     234        }
    236235    }
    237236
     
    241240     * @return the set of primitive ids which have been downloaded by this task list
    242241     */
    243     public Set<Long> getDownloadedIds() {
    244         HashSet<Long> ret = new HashSet<Long>();
     242    public Set<OsmPrimitive> getDownloadedPrimitives() {
     243        HashSet<OsmPrimitive> ret = new HashSet<OsmPrimitive>();
    245244        for (DownloadTask task : osmTasks) {
    246245            if(task instanceof DownloadOsmTask) {
    247246                DataSet ds = ((DownloadOsmTask)task).getDownloadedData();
    248247                if (ds != null) {
    249                     ret.addAll(ds.getPrimitiveIds());
     248                    ret.addAll(ds.nodes);
     249                    ret.addAll(ds.ways);
     250                    ret.addAll(ds.relations);
    250251                }
    251252            }
  • trunk/src/org/openstreetmap/josm/data/osm/DataSet.java

    r2070 r2077  
    313313     *
    314314     * @param id  the id, > 0 required
     315     * @param type the type of  the primitive. Must not be null.
    315316     * @return the primitive
    316317     * @exception IllegalArgumentException thrown, if id <= 0
    317      */
    318     public OsmPrimitive getPrimitiveById(long id) {
     318     * @exception IllegalArgumentException thrown, if type is null
     319     * @exception IllegalArgumentException thrown, if type is neither NODE, or WAY or RELATION
     320     */
     321    public OsmPrimitive getPrimitiveById(long id, OsmPrimitiveType type) {
    319322        if (id <= 0)
    320323            throw new IllegalArgumentException(tr("parameter {0} > 0 required. Got {1}.", "id", id));
    321         for (OsmPrimitive primitive : nodes) {
    322             if (primitive.getId() == id) return primitive;
    323         }
    324         for (OsmPrimitive primitive : ways) {
    325             if (primitive.getId() == id) return primitive;
    326         }
    327         for (OsmPrimitive primitive : relations) {
     324        if (id <= 0)
     325            throw new IllegalArgumentException(tr("paramete''{0}'' must not be null", "type"));
     326        Collection<? extends OsmPrimitive> primitives = null;
     327        switch(type) {
     328        case NODE: primitives = nodes; break;
     329        case WAY: primitives = ways; break;
     330        case RELATION: primitives = relations; break;
     331        case CHANGESET: throw new IllegalArgumentException(tr("unsupported value ''{0}'' or parameter ''{1}''", type, "type"));
     332        }
     333        for (OsmPrimitive primitive : primitives) {
    328334            if (primitive.getId() == id) return primitive;
    329335        }
     
    341347        for (OsmPrimitive primitive : relations) {
    342348            ret.add(primitive.getId());
    343         }
    344         return ret;
    345     }
    346 
    347     /**
    348      * Replies the set of ids of all complete primitives (i.e. those with
    349      * ! primitive.incomplete)
    350      *
    351      * @return the set of ids of all complete primitives
    352      */
    353     public Set<Long> getCompletePrimitiveIds() {
    354         HashSet<Long> ret = new HashSet<Long>();
    355         for (OsmPrimitive primitive : nodes) {
    356             if (!primitive.incomplete) {
    357                 ret.add(primitive.getId());
    358             }
    359         }
    360         for (OsmPrimitive primitive : ways) {
    361             if (! primitive.incomplete) {
    362                 ret.add(primitive.getId());
    363             }
    364         }
    365         for (OsmPrimitive primitive : relations) {
    366             if (! primitive.incomplete) {
    367                 ret.add(primitive.getId());
    368             }
    369349        }
    370350        return ret;
  • trunk/src/org/openstreetmap/josm/data/osm/OsmPrimitiveType.java

    r1989 r2077  
    3939    }
    4040
     41    public static OsmPrimitiveType from(String value) {
     42        if (value == null) return null;
     43        for (OsmPrimitiveType type: values()){
     44            if (type.getAPIName().equalsIgnoreCase(value))
     45                return type;
     46        }
     47        return null;
     48    }
     49
    4150}
  • trunk/src/org/openstreetmap/josm/data/osm/Relation.java

    r2070 r2077  
    112112     */
    113113    public Relation() {
    114 
     114        super(0);
    115115    }
    116116
  • trunk/src/org/openstreetmap/josm/data/osm/Way.java

    r2070 r2077  
    33
    44import java.util.ArrayList;
     5
    56import java.util.Arrays;
    67import java.util.Collection;
     
    1011import org.openstreetmap.josm.tools.CopyList;
    1112import org.openstreetmap.josm.tools.Pair;
     13import static org.openstreetmap.josm.tools.I18n.tr;
    1214
    1315/**
     
    123125     */
    124126    public Way(){
     127        super(0);
    125128    }
    126129
     
    197200    }
    198201
    199     public void addNode(Node n) {
     202    /**
     203     * Adds a node to the end of the list of nodes. Ignored, if n is null.
     204     *
     205     * @param n the node. Ignored, if null.
     206     * @throws IllegalStateException thrown, if this way is marked as incomplete. We can't add a node
     207     * to an incomplete way
     208     */
     209    public void addNode(Node n) throws IllegalStateException {
     210        if (n==null) return;
     211        if (incomplete)
     212            throw new IllegalStateException(tr("can't add node {0} to incomplete way {1}", n.getId(), getId()));
    200213        if (incomplete) return;
    201214        clearCached();
     
    203216    }
    204217
    205     public void addNode(int offs, Node n) {
    206         if (incomplete) return;
     218    /**
     219     * Adds a node at position offs.
     220     *
     221     * @param int offs the offset
     222     * @param n the node. Ignored, if null.
     223     * @throws IllegalStateException thrown, if this way is marked as incomplete. We can't add a node
     224     * to an incomplete way
     225     * @throws IndexOutOfBoundsException thrown if offs is out of bounds
     226     */
     227    public void addNode(int offs, Node n) throws IllegalStateException, IndexOutOfBoundsException {
     228        if (n==null) return;
     229        if (incomplete)
     230            throw new IllegalStateException(tr("can't add node {0} to incomplete way {1}", n.getId(), getId()));
    207231        clearCached();
    208232        nodes.add(offs, n);
  • trunk/src/org/openstreetmap/josm/gui/dialogs/relation/MemberTableModel.java

    r2070 r2077  
    2121import org.openstreetmap.josm.data.osm.Node;
    2222import org.openstreetmap.josm.data.osm.OsmPrimitive;
     23import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
    2324import org.openstreetmap.josm.data.osm.Relation;
    2425import org.openstreetmap.josm.data.osm.RelationMember;
     
    8687    public Object getValueAt(int rowIndex, int columnIndex) {
    8788        switch (columnIndex) {
    88             case 0:
    89                 return members.get(rowIndex).getRole();
    90             case 1:
    91                 return members.get(rowIndex).getMember();
    92             case 2:
    93                 return linked(rowIndex);
     89        case 0:
     90            return members.get(rowIndex).getRole();
     91        case 1:
     92            return members.get(rowIndex).getMember();
     93        case 2:
     94            return linked(rowIndex);
    9495        }
    9596        // should not happen
     
    201202                continue;
    202203            }
    203             OsmPrimitive primitive = ds.getPrimitiveById(member.getMember().getId());
     204            OsmPrimitive primitive = ds.getPrimitiveById(member.getMember().getId(), OsmPrimitiveType.from(member.getMember()));
    204205            if (primitive != null) {
    205206                member.member = primitive;
  • trunk/src/org/openstreetmap/josm/gui/dialogs/relation/ParentRelationLoadingTask.java

    r2070 r2077  
    1414import org.openstreetmap.josm.data.osm.DataSet;
    1515import org.openstreetmap.josm.data.osm.DataSource;
     16import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
    1617import org.openstreetmap.josm.data.osm.Relation;
    1718import org.openstreetmap.josm.data.osm.visitor.MergeVisitor;
     
    150151        parents.clear();
    151152        for (Relation parent : referrers.relations) {
    152             parents.add((Relation)getLayer().data.getPrimitiveById(parent.getId()));
     153            parents.add((Relation)getLayer().data.getPrimitiveById(parent.getId(),OsmPrimitiveType.RELATION));
    153154        }
    154155        if (continuation != null) {
  • trunk/src/org/openstreetmap/josm/io/MultiFetchServerObjectReader.java

    r2070 r2077  
    110110     *   id=<code>id</code>
    111111     */
    112     protected void remember(DataSet ds, long id) throws IllegalArgumentException, NoSuchElementException{
     112    protected void remember(DataSet ds, long id, OsmPrimitiveType type) throws IllegalArgumentException, NoSuchElementException{
    113113        if (ds == null)
    114114            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "ds"));
    115115        if (id <= 0) return;
    116         OsmPrimitive primitive = ds.getPrimitiveById(id);
     116        OsmPrimitive primitive = ds.getPrimitiveById(id, type);
    117117        if (primitive == null)
    118118            throw new NoSuchElementException(tr("no primitive with id {0} in local dataset. Can't infer primitive type", id));
     
    122122
    123123    /**
    124      * appends a list of  ids to the list of ids which will be fetched from the server. ds must
    125      * include an {@see OsmPrimitive} for each id in ids.
    126      *
    127      * id is ignored if id <= 0.
    128      *
    129      * @param ds  the dataset
    130      * @param ids  the list of ids
     124     * appends a {@see Node}s id to the list of ids which will be fetched from the server.
     125     *
     126     * @param node  the node (ignored, if null)
    131127     * @return this
    132128     *
    133129     */
    134     public MultiFetchServerObjectReader append(DataSet ds, long ... ids)  {
    135         if (ids == null) return this;
    136         for (int i=0; i < ids.length; i++) {
    137             remember(ds, ids[i]);
    138         }
    139         return this;
    140     }
    141 
    142     /**
    143      * appends a collection of  ids to the list of ids which will be fetched from the server. ds must
    144      * include an {@see OsmPrimitive} for each id in ids.
    145      *
    146      * id is ignored if id <= 0.
    147      *
    148      * @param ds  the dataset
    149      * @param ids  the collection of ids
    150      * @return this
    151      *
    152      */
    153     public MultiFetchServerObjectReader append(DataSet ds, Collection<Long> ids) {
    154         if (ids == null) return null;
    155         for (long id: ids) {
    156             append(ds,id);
     130    public MultiFetchServerObjectReader append(DataSet ds, long id, OsmPrimitiveType type) {
     131        switch(type) {
     132        case NODE:
     133            Node n = (Node)ds.getPrimitiveById(id,type);
     134            append(n);
     135            break;
     136        case WAY:
     137            Way w= (Way)ds.getPrimitiveById(id,type);
     138            append(w);
     139            break;
     140        case RELATION:
     141            Relation r = (Relation)ds.getPrimitiveById(id,type);
     142            append(r);
     143            break;
    157144        }
    158145        return this;
     
    376363                String msg = "";
    377364                switch(type) {
    378                     case NODE: msg = tr("Fetching node with id {0} from ''{1}''", id, OsmApi.getOsmApi().getBaseUrl()); break;
    379                     case WAY: msg = tr("Fetching way with id {0} from ''{1}''", id, OsmApi.getOsmApi().getBaseUrl()); break;
    380                     case RELATION: msg = tr("Fetching relation with id {0} from ''{1}''", id, OsmApi.getOsmApi().getBaseUrl()); break;
     365                case NODE: msg = tr("Fetching node with id {0} from ''{1}''", id, OsmApi.getOsmApi().getBaseUrl()); break;
     366                case WAY: msg = tr("Fetching way with id {0} from ''{1}''", id, OsmApi.getOsmApi().getBaseUrl()); break;
     367                case RELATION: msg = tr("Fetching relation with id {0} from ''{1}''", id, OsmApi.getOsmApi().getBaseUrl()); break;
    381368                }
    382369                progressMonitor.setCustomText(msg);
     
    414401        String msg = "";
    415402        switch(type) {
    416             case NODE: msg = tr("Fetching a package of nodes from ''{0}''", OsmApi.getOsmApi().getBaseUrl()); break;
    417             case WAY:  msg = tr("Fetching a package of ways from ''{0}''", OsmApi.getOsmApi().getBaseUrl()); break;
    418             case RELATION:  msg = tr("Fetching a package of relations from ''{0}''", OsmApi.getOsmApi().getBaseUrl()); break;
     403        case NODE: msg = tr("Fetching a package of nodes from ''{0}''", OsmApi.getOsmApi().getBaseUrl()); break;
     404        case WAY:  msg = tr("Fetching a package of ways from ''{0}''", OsmApi.getOsmApi().getBaseUrl()); break;
     405        case RELATION:  msg = tr("Fetching a package of relations from ''{0}''", OsmApi.getOsmApi().getBaseUrl()); break;
    419406        }
    420407        progressMonitor.setCustomText(msg);
Note: See TracChangeset for help on using the changeset viewer.