Changeset 2077 in josm for trunk


Ignore:
Timestamp:
2009-09-07T23:06:19+02:00 (12 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
Files:
16 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);
  • trunk/test/functional/org/openstreetmap/josm/gui/conflict/pair/properties/PropertiesMergerTest.java

    r2041 r2077  
    2626        Node my = new Node(1);
    2727        my.setCoor(new LatLon(1,1));
    28         my.deleted = true;
     28        my.setDeleted(true);
    2929
    3030        Node their = new Node(2);
  • trunk/test/functional/org/openstreetmap/josm/io/MultiFetchServerObjectReaderTest.java

    r2072 r2077  
    2828import org.openstreetmap.josm.data.osm.Node;
    2929import org.openstreetmap.josm.data.osm.OsmPrimitive;
     30import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
    3031import org.openstreetmap.josm.data.osm.Relation;
    3132import org.openstreetmap.josm.data.osm.RelationMember;
     
    247248        while(it.hasNext()) {
    248249            Node n1 = it.next();
    249             Node n2 = (Node)ds.getPrimitiveById(n1.id);
     250            Node n2 = (Node)ds.getPrimitiveById(n1.getId(), OsmPrimitiveType.NODE);
    250251            assertNotNull(n2);
    251252            assertEquals(n2.get("name"),n2.get("name"));
     
    266267        while(it.hasNext()) {
    267268            Way w1 = it.next();
    268             Way w2 = (Way)ds.getPrimitiveById(w1.id);
     269            Way w2 = (Way)ds.getPrimitiveById(w1.getId(), OsmPrimitiveType.WAY);
    269270            assertNotNull(w2);
    270271            assertEquals(w2.getNodesCount(), w1.getNodesCount());
     
    286287        while(it.hasNext()) {
    287288            Relation r1 = it.next();
    288             Relation r2 = (Relation)ds.getPrimitiveById(r1.id);
     289            Relation r2 = (Relation)ds.getPrimitiveById(r1.getId(), OsmPrimitiveType.RELATION);
    289290            assertNotNull(r2);
    290291            assertEquals(r2.getMembersCount(), r1.getMembersCount());
     
    306307        while(it.hasNext()) {
    307308            Node n1 = it.next();
    308             Node n2 = (Node)ds.getPrimitiveById(n1.id);
     309            Node n2 = (Node)ds.getPrimitiveById(n1.getId(), OsmPrimitiveType.NODE);
    309310            assertNotNull(n2);
    310311            assertEquals(n2.get("name"),n2.get("name"));
     
    327328        while(it.hasNext()) {
    328329            Node n1 = it.next();
    329             Node n2 = (Node)ds.getPrimitiveById(n1.id);
     330            Node n2 = (Node)ds.getPrimitiveById(n1.getId(), OsmPrimitiveType.NODE);
    330331            assertNotNull(n2);
    331332            assertEquals(n2.get("name"),n2.get("name"));
  • trunk/test/functional/org/openstreetmap/josm/io/OsmServerBackreferenceReaderTest.java

    r2072 r2077  
    2727import org.openstreetmap.josm.data.osm.Node;
    2828import org.openstreetmap.josm.data.osm.OsmPrimitive;
     29import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
    2930import org.openstreetmap.josm.data.osm.Relation;
    3031import org.openstreetmap.josm.data.osm.RelationMember;
     
    253254        assertEquals(0, referers.relations.size());
    254255        for (Way way: referers.ways) {
    255             assertEquals(w.id, way.id);
     256            assertEquals(w.getId(), way.getId());
    256257            assertEquals(false, way.incomplete);
    257258        }
     
    272273        assertEquals(0, referers.relations.size());
    273274        for (Way way: referers.ways) {
    274             assertEquals(w.id, way.id);
     275            assertEquals(w.getId(), way.getId());
    275276            assertEquals(false, way.incomplete);
    276277            assertEquals(10, w.getNodesCount());
     
    319320        Set<Long> expectedNodeIds = new HashSet<Long>();
    320321        for (Way way: referers.ways) {
    321             Way orig = (Way)ds.getPrimitiveById(way.id);
     322            Way orig = (Way)ds.getPrimitiveById(way.getId(), OsmPrimitiveType.WAY);
    322323            for(Node n: orig.getNodes()) {
    323                 expectedNodeIds.add(n.id);
     324                expectedNodeIds.add(n.getId());
    324325            }
    325326        }
    326327        assertEquals(expectedNodeIds.size(), referers.nodes.size());
    327328        for (Node n : referers.nodes) {
    328             assertEquals(true, expectedNodeIds.contains(n.id));
     329            assertEquals(true, expectedNodeIds.contains(n.getId()));
    329330        }
    330331
     
    352353        assertNotNull(r);
    353354        assertEquals(false, r.incomplete);
    354         referringRelationsIds.add(r.id);
     355        referringRelationsIds.add(r.getId());
    355356        r = lookupRelation(referers, 7);
    356357        assertNotNull(r);
    357358        assertEquals(false, r.incomplete);
    358         referringRelationsIds.add(r.id);
     359        referringRelationsIds.add(r.getId());
    359360        r = lookupRelation(referers, 8);
    360361        assertNotNull(r);
    361362        assertEquals(false, r.incomplete);
    362         referringRelationsIds.add(r.id);
     363        referringRelationsIds.add(r.getId());
    363364        r = lookupRelation(referers, 9);
    364365        assertNotNull(r);
    365366        assertEquals(false, r.incomplete);
    366         referringRelationsIds.add(r.id);
     367        referringRelationsIds.add(r.getId());
    367368
    368369        for (Relation r1: referers.relations) {
    369             if (! referringRelationsIds.contains(r1.id)) {
     370            if (! referringRelationsIds.contains(r1.getId())) {
    370371                assertEquals(true, r1.incomplete);
    371372            }
     
    378379        for (RelationMember m : lookupRelation(ds, 6).getMembers()) {
    379380            if (m.isWay()) {
    380                 expectedWayIds.add(m.getMember().id);
     381                expectedWayIds.add(m.getMember().getId());
    381382            }
    382383        }
    383384        for (RelationMember m : lookupRelation(ds, 7).getMembers()) {
    384385            if (m.isWay()) {
    385                 expectedWayIds.add(m.getMember().id);
     386                expectedWayIds.add(m.getMember().getId());
    386387            }
    387388        }
    388389        for (RelationMember m : lookupRelation(ds, 8).getMembers()) {
    389390            if (m.isWay()) {
    390                 expectedWayIds.add(m.getMember().id);
     391                expectedWayIds.add(m.getMember().getId());
    391392            }
    392393        }
    393394        for (RelationMember m : lookupRelation(ds, 9).getMembers()) {
    394395            if (m.isWay()) {
    395                 expectedWayIds.add(m.getMember().id);
     396                expectedWayIds.add(m.getMember().getId());
    396397            }
    397398        }
     
    399400        assertEquals(expectedWayIds.size(), referers.ways.size());
    400401        for (Way w1 : referers.ways) {
    401             assertEquals(true, expectedWayIds.contains(w1.id));
     402            assertEquals(true, expectedWayIds.contains(w1.getId()));
    402403            assertEquals(true, w1.incomplete);
    403404        }
     
    412413        if (way == null)return ret;
    413414        for (Node n: way.getNodes()) {
    414             ret.add(n.id);
     415            ret.add(n.getId());
    415416        }
    416417        return ret;
     
    422423        for (RelationMember m: r.getMembers()) {
    423424            if (m.isNode()) {
    424                 ret.add(m.getMember().id);
     425                ret.add(m.getMember().getId());
    425426            } else if (m.isWay()) {
    426427                ret.addAll(getNodeIdsInWay(m.getWay()));
     
    448449        assertNotNull(r);
    449450        assertEquals(false, r.incomplete);
    450         referringRelationsIds.add(r.id);
     451        referringRelationsIds.add(r.getId());
    451452        r = lookupRelation(referers, 7);
    452453        assertNotNull(r);
    453454        assertEquals(false, r.incomplete);
    454         referringRelationsIds.add(r.id);
     455        referringRelationsIds.add(r.getId());
    455456        r = lookupRelation(referers, 8);
    456457        assertNotNull(r);
    457458        assertEquals(false, r.incomplete);
    458         referringRelationsIds.add(r.id);
     459        referringRelationsIds.add(r.getId());
    459460        r = lookupRelation(referers, 9);
    460461        assertNotNull(r);
    461462        assertEquals(false, r.incomplete);
    462         referringRelationsIds.add(r.id);
     463        referringRelationsIds.add(r.getId());
    463464
    464465        // all relations are fully loaded
     
    474475        for (RelationMember m : lookupRelation(ds, 6).getMembers()) {
    475476            if (m.isWay()) {
    476                 expectedWayIds.add(m.getMember().id);
     477                expectedWayIds.add(m.getMember().getId());
    477478            }
    478479        }
    479480        for (RelationMember m : lookupRelation(ds, 7).getMembers()) {
    480481            if (m.isWay()) {
    481                 expectedWayIds.add(m.getMember().id);
     482                expectedWayIds.add(m.getMember().getId());
    482483            }
    483484        }
    484485        for (RelationMember m : lookupRelation(ds, 8).getMembers()) {
    485486            if (m.isWay()) {
    486                 expectedWayIds.add(m.getMember().id);
     487                expectedWayIds.add(m.getMember().getId());
    487488            }
    488489        }
    489490        for (RelationMember m : lookupRelation(ds, 9).getMembers()) {
    490491            if (m.isWay()) {
    491                 expectedWayIds.add(m.getMember().id);
     492                expectedWayIds.add(m.getMember().getId());
    492493            }
    493494        }
    494495        for (long id : expectedWayIds) {
    495             Way w = (Way)referers.getPrimitiveById(id);
     496            Way w = (Way)referers.getPrimitiveById(id, OsmPrimitiveType.WAY);
    496497            assertNotNull(w);
    497498            assertEquals(false, w.incomplete);
     
    506507        assertEquals(expectedNodeIds.size(), referers.nodes.size());
    507508        for(Node n : referers.nodes) {
    508             assertEquals(true, expectedNodeIds.contains(n.id));
     509            assertEquals(true, expectedNodeIds.contains(n.getId()));
    509510        }
    510511    }
  • trunk/test/unit/org/openstreetmap/josm/data/osm/visitor/MergeSourceBuildingVisitorTest.java

    r1951 r2077  
    1414import org.openstreetmap.josm.data.osm.Node;
    1515import org.openstreetmap.josm.data.osm.OsmPrimitive;
     16import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
    1617import org.openstreetmap.josm.data.osm.Relation;
    1718import org.openstreetmap.josm.data.osm.RelationMember;
     
    5051        assertEquals(2, hull.nodes.size());
    5152
    52         OsmPrimitive p = hull.getPrimitiveById(1);
     53        OsmPrimitive p = hull.getPrimitiveById(1,OsmPrimitiveType.NODE);
    5354        assertNotNull(p);
    5455        assertEquals(p.getClass(), Node.class);
    5556
    56         p = hull.getPrimitiveById(3);
     57        p = hull.getPrimitiveById(3,OsmPrimitiveType.NODE);
    5758        assertNull(p);
    5859
     
    7172        Node n2 = new Node(2);
    7273        Way w1 = new Way(3);
     74        w1.incomplete = false;
    7375        w1.addNode(n1);
    7476        w1.addNode(n2);
     
    8486        assertEquals(2, hull.nodes.size());
    8587
    86         OsmPrimitive p = hull.getPrimitiveById(1);
     88        OsmPrimitive p = hull.getPrimitiveById(1,OsmPrimitiveType.NODE);
    8789        assertNotNull(p);
    8890        assertEquals(p.getClass(), Node.class);
    8991
    90         p = hull.getPrimitiveById(2);
     92        p = hull.getPrimitiveById(2,OsmPrimitiveType.NODE);
    9193        assertNotNull(p);
    9294        assertEquals(p.getClass(), Node.class);
    9395
    94         p = hull.getPrimitiveById(3);
     96        p = hull.getPrimitiveById(3, OsmPrimitiveType.WAY);
    9597        assertNotNull(p);
    9698        assertEquals(p.getClass(), Way.class);
     
    103105        Node n2 = new Node(2);
    104106        Way w1 = new Way(3);
     107        w1.incomplete = false;
    105108        w1.addNode(n1);
    106109        w1.addNode(n2);
     
    116119        assertEquals(2, hull.nodes.size());
    117120
    118         OsmPrimitive p = hull.getPrimitiveById(1);
     121        OsmPrimitive p = hull.getPrimitiveById(1,OsmPrimitiveType.NODE);
    119122        assertNotNull(p);
    120123        assertEquals(p.getClass(), Node.class);
    121124
    122         p = hull.getPrimitiveById(2);
     125        p = hull.getPrimitiveById(2, OsmPrimitiveType.NODE);
    123126        assertNotNull(p);
    124127        assertEquals(p.getClass(), Node.class);
    125128
    126         p = hull.getPrimitiveById(3);
     129        p = hull.getPrimitiveById(3,OsmPrimitiveType.WAY);
    127130        assertNotNull(p);
    128131        assertEquals(p.getClass(), Way.class);
     
    142145        assertEquals(1, hull.ways.size());
    143146
    144         OsmPrimitive p = hull.getPrimitiveById(3);
     147        OsmPrimitive p = hull.getPrimitiveById(3, OsmPrimitiveType.WAY);
    145148        assertNotNull(p);
    146149        assertEquals(p.getClass(), Way.class);
     
    154157        Node n20 = new Node(20);
    155158        r1.addMember(new RelationMember("node-20",n20));
     159        r1.incomplete = false;
    156160        Way w30 = new Way(30);
     161        w30.incomplete = false;
    157162        Node n21;
    158163        w30.addNode(n21 = new Node(21));
     
    177182        assertEquals(2, hull.relations.size());
    178183
    179         OsmPrimitive p = hull.getPrimitiveById(1);
     184        OsmPrimitive p = hull.getPrimitiveById(1, OsmPrimitiveType.RELATION);
    180185        assertNotNull(p);
    181186        assertEquals(p.getClass(), Relation.class);
    182187
    183         Way w = (Way)hull.getPrimitiveById(30);
     188        Way w = (Way)hull.getPrimitiveById(30,OsmPrimitiveType.WAY);
    184189        assertNotNull(w);
    185190        assertEquals(2, w.getNodesCount());
    186         Node n = (Node)hull.getPrimitiveById(21);
     191        Node n = (Node)hull.getPrimitiveById(21, OsmPrimitiveType.NODE);
    187192        assertNotNull(n);
    188193        assertTrue(w.containsNode(n));
    189194
    190         n = (Node)hull.getPrimitiveById(22);
     195        n = (Node)hull.getPrimitiveById(22,OsmPrimitiveType.NODE);
    191196        assertNotNull(n);
    192197        assertTrue(w.containsNode(n));
    193198
    194         Relation r = (Relation)hull.getPrimitiveById(40);
    195         assertNotNull(r);
    196 
    197         r = (Relation)hull.getPrimitiveById(1);
     199        Relation r = (Relation)hull.getPrimitiveById(40,OsmPrimitiveType.RELATION);
     200        assertNotNull(r);
     201
     202        r = (Relation)hull.getPrimitiveById(1, OsmPrimitiveType.RELATION);
    198203        assertNotNull(r);
    199204        assertEquals(3, r.getMembersCount());
    200         RelationMember m = new RelationMember("node-20", hull.getPrimitiveById(20));
    201         assertTrue(r.getMembers().contains(m));
    202         m = new RelationMember("way-30", hull.getPrimitiveById(30));
    203         assertTrue(r.getMembers().contains(m));
    204         m = new RelationMember("relation-40", hull.getPrimitiveById(40));
     205        RelationMember m = new RelationMember("node-20", hull.getPrimitiveById(20,OsmPrimitiveType.NODE));
     206        assertTrue(r.getMembers().contains(m));
     207        m = new RelationMember("way-30", hull.getPrimitiveById(30, OsmPrimitiveType.WAY));
     208        assertTrue(r.getMembers().contains(m));
     209        m = new RelationMember("relation-40", hull.getPrimitiveById(40, OsmPrimitiveType.RELATION));
    205210        assertTrue(r.getMembers().contains(m));
    206211    }
     
    213218        r1.addMember(new RelationMember("node-20",n20));
    214219        Way w30 = new Way(30);
     220        w30.incomplete = false;
    215221        Node n21;
    216222        w30.addNode(n21 = new Node(21));
     
    235241        assertEquals(2, hull.relations.size());
    236242
    237         OsmPrimitive p = hull.getPrimitiveById(1);
     243        OsmPrimitive p = hull.getPrimitiveById(1, OsmPrimitiveType.RELATION);
    238244        assertNotNull(p);
    239245        assertEquals(p.getClass(), Relation.class);
    240246
    241         Way w = (Way)hull.getPrimitiveById(30);
     247        Way w = (Way)hull.getPrimitiveById(30, OsmPrimitiveType.WAY);
    242248        assertNotNull(w);
    243249        assertTrue(w.incomplete);
    244250
    245251
    246         Node n = (Node)hull.getPrimitiveById(21);
     252        Node n = (Node)hull.getPrimitiveById(21,OsmPrimitiveType.NODE);
    247253        assertNull(n);
    248254
    249         n = (Node)hull.getPrimitiveById(22);
     255        n = (Node)hull.getPrimitiveById(22, OsmPrimitiveType.NODE);
    250256        assertNull(n);
    251257
    252         Relation r = (Relation)hull.getPrimitiveById(40);
     258        Relation r = (Relation)hull.getPrimitiveById(40, OsmPrimitiveType.RELATION);
    253259        assertNotNull(r);
    254260        assertTrue(r.incomplete);
    255261
    256         r = (Relation)hull.getPrimitiveById(1);
     262        r = (Relation)hull.getPrimitiveById(1, OsmPrimitiveType.RELATION);
    257263        assertNotNull(r);
    258264        assertEquals(3, r.getMembersCount());
    259         RelationMember m = new RelationMember("node-20", hull.getPrimitiveById(20));
    260         assertTrue(r.getMembers().contains(m));
    261         m = new RelationMember("way-30", hull.getPrimitiveById(30));
    262         assertTrue(r.getMembers().contains(m));
    263         m = new RelationMember("relation-40", hull.getPrimitiveById(40));
     265        RelationMember m = new RelationMember("node-20", hull.getPrimitiveById(20, OsmPrimitiveType.NODE));
     266        assertTrue(r.getMembers().contains(m));
     267        m = new RelationMember("way-30", hull.getPrimitiveById(30, OsmPrimitiveType.WAY));
     268        assertTrue(r.getMembers().contains(m));
     269        m = new RelationMember("relation-40", hull.getPrimitiveById(40, OsmPrimitiveType.RELATION));
    264270        assertTrue(r.getMembers().contains(m));
    265271    }
     
    272278        Node n20 = new Node(new LatLon(20.0,20.0));
    273279        n20.put("name", "n20");
    274         r1.getMembers().add(new RelationMember("node-20",n20));
     280        r1.addMember(new RelationMember("node-20",n20));
     281
    275282        Way w30 = new Way();
    276283        w30.put("name", "w30");
     
    285292        r40.put("name", "r40");
    286293        r1.addMember(new RelationMember("relation-40", r40));
     294
    287295        source.nodes.add(n20);
    288296        source.nodes.add(n21);
     
    343351        assertEquals(1, hull.relations.size());
    344352
    345         Relation r = (Relation)hull.getPrimitiveById(1);
     353        Relation r = (Relation)hull.getPrimitiveById(1, OsmPrimitiveType.RELATION);
    346354        assertNotNull(r);
    347355        assertEquals(1, r.getMembersCount());
     
    385393        assertEquals(2, hull.relations.size());
    386394
    387         r1 = (Relation)hull.getPrimitiveById(1);
     395        r1 = (Relation)hull.getPrimitiveById(1, OsmPrimitiveType.RELATION);
    388396        assertNotNull(r1);
    389         r2 = (Relation)hull.getPrimitiveById(2);
     397        r2 = (Relation)hull.getPrimitiveById(2, OsmPrimitiveType.RELATION);
    390398        assertNotNull(r2);
    391399        assertEquals(1, r1.getMembersCount());
  • trunk/test/unit/org/openstreetmap/josm/data/osm/visitor/MergeVisitorTest.java

    r2071 r2077  
    2424import org.openstreetmap.josm.data.osm.Node;
    2525import org.openstreetmap.josm.data.osm.OsmPrimitive;
     26import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
    2627import org.openstreetmap.josm.data.osm.Relation;
    2728import org.openstreetmap.josm.data.osm.RelationMember;
     
    9798        visitor.merge();
    9899
    99         Node n2 = (Node)my.getPrimitiveById(1);
     100        Node n2 = (Node)my.getPrimitiveById(1, OsmPrimitiveType.NODE);
    100101        assertTrue(visitor.getConflicts().isEmpty());
    101102        assertEquals(1, n2.getId());
     
    133134        visitor.merge();
    134135
    135         Node n2 = (Node)my.getPrimitiveById(1);
     136        Node n2 = (Node)my.getPrimitiveById(1, OsmPrimitiveType.NODE);
    136137        assertTrue(visitor.getConflicts().isEmpty());
    137138        assertEquals(1, n2.getId());
     
    173174        visitor.merge();
    174175
    175         Node n2 = (Node)my.getPrimitiveById(1);
     176        Node n2 = (Node)my.getPrimitiveById(1, OsmPrimitiveType.NODE);
    176177        assertEquals(1,visitor.getConflicts().size());
    177178        assertEquals(n, n2);
     
    209210        visitor.merge();
    210211
    211         Node n2 = (Node)my.getPrimitiveById(1);
     212        Node n2 = (Node)my.getPrimitiveById(1, OsmPrimitiveType.NODE);
    212213        assertEquals(1,visitor.getConflicts().size());
    213214        assertEquals(n, n2);
     
    242243        visitor.merge();
    243244
    244         Node n2 = (Node)my.getPrimitiveById(1);
     245        Node n2 = (Node)my.getPrimitiveById(1,OsmPrimitiveType.NODE);
    245246        assertEquals(1,visitor.getConflicts().size());
    246247        assertEquals(true, n2.isVisible());
     
    271272        visitor.merge();
    272273
    273         Node n2 = (Node)my.getPrimitiveById(1);
     274        Node n2 = (Node)my.getPrimitiveById(1, OsmPrimitiveType.NODE);
    274275        assertEquals(0,visitor.getConflicts().size());
    275276        assertEquals(true, n2.isVisible());
     
    354355        visitor.merge();
    355356
    356         Node n2 = (Node)my.getPrimitiveById(1);
     357        Node n2 = (Node)my.getPrimitiveById(1,OsmPrimitiveType.NODE);
    357358        assertEquals(0,visitor.getConflicts().size());
    358359        assertEquals(2,my.nodes.size());
     
    501502        visitor.merge();
    502503
    503         Way merged = (Way)my.getPrimitiveById(3);
     504        Way merged = (Way)my.getPrimitiveById(3, OsmPrimitiveType.WAY);
    504505        assertEquals(0,visitor.getConflicts().size());
    505506        assertEquals("value1",merged.get("key1"));
     
    571572        visitor.merge();
    572573
    573         Way merged = (Way)my.getPrimitiveById(3);
     574        Way merged = (Way)my.getPrimitiveById(3, OsmPrimitiveType.WAY);
    574575        assertEquals(0,visitor.getConflicts().size());
    575576        assertEquals(3,merged.getId());
     
    642643        visitor.merge();
    643644
    644         Way merged = (Way)my.getPrimitiveById(3);
     645        Way merged = (Way)my.getPrimitiveById(3, OsmPrimitiveType.WAY);
    645646        assertEquals(1,visitor.getConflicts().size());
    646647        assertEquals(3,merged.getId());
     
    690691        visitor.merge();
    691692
    692         Way merged = (Way)my.getPrimitiveById(3);
     693        Way merged = (Way)my.getPrimitiveById(3, OsmPrimitiveType.WAY);
    693694        assertEquals(1,visitor.getConflicts().size());
    694695        assertEquals(true, visitor.getConflicts().hasConflictForMy(myWay));
     
    851852        assertEquals(0,visitor.getConflicts().size());
    852853
    853         Way myWay = (Way)my.getPrimitiveById(4);
     854        Way myWay = (Way)my.getPrimitiveById(4,OsmPrimitiveType.WAY);
    854855        assertEquals(2, myWay.getNodesCount());
    855856
    856         Node n = (Node)my.getPrimitiveById(1);
     857        Node n = (Node)my.getPrimitiveById(1,OsmPrimitiveType.NODE);
    857858        assertTrue(n != null);
    858859    }
     
    906907        assertEquals(0,visitor.getConflicts().size());
    907908
    908         Relation r = (Relation)my.getPrimitiveById(4);
     909        Relation r = (Relation)my.getPrimitiveById(4,OsmPrimitiveType.RELATION);
    909910        assertEquals(2, r.getMembersCount());
    910911
    911         Node n = (Node)my.getPrimitiveById(1);
     912        Node n = (Node)my.getPrimitiveById(1,OsmPrimitiveType.NODE);
    912913        assertTrue(n != null);
    913914    }
     
    942943        assertEquals(0,visitor.getConflicts().size());
    943944
    944         OsmPrimitive p= my.getPrimitiveById(1);
     945        OsmPrimitive p= my.getPrimitiveById(1, OsmPrimitiveType.NODE);
    945946        assertNotNull(p);
    946947        assertTrue(p.incomplete);
    947         p= my.getPrimitiveById(2);
     948        p= my.getPrimitiveById(2, OsmPrimitiveType.NODE);
    948949        assertNotNull(p);
    949950        assertTrue(p.incomplete);
    950         p= my.getPrimitiveById(3);
     951        p= my.getPrimitiveById(3, OsmPrimitiveType.WAY);
    951952        assertNotNull(p);
    952953        assertTrue(p.incomplete);
    953954
    954         Way w = (Way)my.getPrimitiveById(3);
     955        Way w = (Way)my.getPrimitiveById(3, OsmPrimitiveType.WAY);
    955956        assertNotNull(w);
    956957        assertTrue(p.incomplete);
     
    10051006        assertEquals(0,visitor.getConflicts().size());
    10061007
    1007         OsmPrimitive p= my.getPrimitiveById(1);
     1008        OsmPrimitive p= my.getPrimitiveById(1, OsmPrimitiveType.NODE);
    10081009        assertNotNull(p);
    10091010        assertTrue(!p.incomplete);
    1010         p= my.getPrimitiveById(2);
     1011        p= my.getPrimitiveById(2, OsmPrimitiveType.NODE);
    10111012        assertNotNull(p);
    10121013        assertTrue(!p.incomplete);
    1013         p= my.getPrimitiveById(3);
     1014        p= my.getPrimitiveById(3,OsmPrimitiveType.WAY);
    10141015        assertNotNull(p);
    10151016        assertTrue(!p.incomplete);
    10161017
    1017         Way w = (Way)my.getPrimitiveById(3);
     1018        Way w = (Way)my.getPrimitiveById(3,OsmPrimitiveType.WAY);
    10181019        assertNotNull(w);
    10191020        assertTrue(!p.incomplete);
  • trunk/test/unit/org/openstreetmap/josm/gui/conflict/nodes/NodeListMergeModelTest.java

    r1954 r2077  
    6565
    6666        Way myWay = new Way(1);
     67        myWay.incomplete = false;
    6768        myWay.addNode(new Node(2));
    6869        myWay.addNode(new Node(3));
     
    7576
    7677        assertEquals(1, mergedNodes.size());
    77         assertEquals(2, mergedNodes.get(0).id);
     78        assertEquals(2, mergedNodes.get(0).getId());
    7879
    7980        DefaultListSelectionModel mergedSelection = inspectListSelectionModel(model, "mergedEntriesSelectionModel");
     
    8990
    9091        Way myWay = new Way(1);
     92        myWay.incomplete = false;
    9193        myWay.addNode(new Node(2));
    9294        myWay.addNode(new Node(3));
     
    102104        mergedNodes = inspectNodeList(model, "Merged");
    103105        assertEquals(2, mergedNodes.size());
    104         assertEquals(2, mergedNodes.get(0).id);
    105         assertEquals(1, mergedNodes.get(1).id);
     106        assertEquals(2, mergedNodes.get(0).getId());
     107        assertEquals(1, mergedNodes.get(1).getId());
    106108
    107109        DefaultListSelectionModel mergedSelection = inspectListSelectionModel(model, "mergedEntriesSelectionModel");
     
    120122
    121123        Way myWay = new Way(1);
    122         myWay.addNode(new Node(2));
    123         myWay.addNode(new Node(3));
    124         Way theirWay = new Way(1);
     124        myWay.incomplete = false;
     125        myWay.addNode(new Node(2));
     126        myWay.addNode(new Node(3));
     127        Way theirWay = new Way(1);
     128
    125129
    126130        model.populate(myWay, theirWay);
     
    133137        mergedNodes = inspectNodeList(model, "Merged");
    134138        assertEquals(2, mergedNodes.size());
    135         assertEquals(3, mergedNodes.get(0).id); // my node 3 at position 0
    136         assertEquals(1, mergedNodes.get(1).id); // already merged node 1 at position 1
     139        assertEquals(3, mergedNodes.get(0).getId()); // my node 3 at position 0
     140        assertEquals(1, mergedNodes.get(1).getId()); // already merged node 1 at position 1
    137141
    138142        DefaultListSelectionModel mergedSelection = inspectListSelectionModel(model, "mergedEntriesSelectionModel");
     
    146150
    147151        Way myWay = new Way(1);
     152        myWay.incomplete = false;
    148153        myWay.addNode(new Node(2));
    149154        myWay.addNode(new Node(3));
     
    160165        mergedNodes = inspectNodeList(model, "Merged");
    161166        assertEquals(3, mergedNodes.size());
    162         assertEquals(3, mergedNodes.get(0).id); // my node 3 at position 0
    163         assertEquals(4, mergedNodes.get(1).id); // my node 4 at position 1
    164         assertEquals(1, mergedNodes.get(2).id); // already merged node 1 at position 2
     167        assertEquals(3, mergedNodes.get(0).getId()); // my node 3 at position 0
     168        assertEquals(4, mergedNodes.get(1).getId()); // my node 4 at position 1
     169        assertEquals(1, mergedNodes.get(2).getId()); // already merged node 1 at position 2
    165170
    166171        DefaultListSelectionModel mergedSelection = inspectListSelectionModel(model, "mergedEntriesSelectionModel");
     
    174179
    175180        Way myWay = new Way(1);
     181        myWay.incomplete = false;
    176182        myWay.addNode(new Node(2));
    177183        myWay.addNode(new Node(3));
     
    184190
    185191        assertEquals(1, mergedNodes.size());
    186         assertEquals(2, mergedNodes.get(0).id);
     192        assertEquals(2, mergedNodes.get(0).getId());
    187193
    188194        DefaultListSelectionModel mergedSelection = inspectListSelectionModel(model, "mergedEntriesSelectionModel");
     
    195201
    196202        Way myWay = new Way(1);
     203        myWay.incomplete = false;
    197204        myWay.addNode(new Node(2));
    198205        myWay.addNode(new Node(3));
     
    208215        mergedNodes = inspectNodeList(model, "Merged");
    209216        assertEquals(2, mergedNodes.size());
    210         assertEquals(1, mergedNodes.get(0).id); // already merged node 1 at position 0
    211         assertEquals(2, mergedNodes.get(1).id); // copied node 2 at position 1
     217        assertEquals(1, mergedNodes.get(0).getId()); // already merged node 1 at position 0
     218        assertEquals(2, mergedNodes.get(1).getId()); // copied node 2 at position 1
    212219
    213220        DefaultListSelectionModel mergedSelection = inspectListSelectionModel(model, "mergedEntriesSelectionModel");
     
    221228
    222229        Way myWay = new Way(1);
     230        myWay.incomplete = false;
    223231        myWay.addNode(new Node(2));
    224232        myWay.addNode(new Node(3));
     
    234242        mergedNodes = inspectNodeList(model, "Merged");
    235243        assertEquals(2, mergedNodes.size());
    236         assertEquals(1, mergedNodes.get(0).id); // already merged node 1 at position 0
    237         assertEquals(3, mergedNodes.get(1).id); // my node 3 at position 1
     244        assertEquals(1, mergedNodes.get(0).getId()); // already merged node 1 at position 0
     245        assertEquals(3, mergedNodes.get(1).getId()); // my node 3 at position 1
    238246
    239247
     
    248256
    249257        Way myWay = new Way(1);
     258        myWay.incomplete = false;
    250259        myWay.addNode(new Node(2));
    251260        myWay.addNode(new Node(3));
     
    262271        mergedNodes = inspectNodeList(model, "Merged");
    263272        assertEquals(3, mergedNodes.size());
    264         assertEquals(1, mergedNodes.get(0).id); // already merged node 1 at position 0
    265         assertEquals(3, mergedNodes.get(1).id); // my node 3 at position 1
    266         assertEquals(4, mergedNodes.get(2).id); // my node 4 at position 2
     273        assertEquals(1, mergedNodes.get(0).getId()); // already merged node 1 at position 0
     274        assertEquals(3, mergedNodes.get(1).getId()); // my node 3 at position 1
     275        assertEquals(4, mergedNodes.get(2).getId()); // my node 4 at position 2
    267276
    268277
     
    280289
    281290        Way myWay = new Way(1);
     291        myWay.incomplete = false;
    282292        myWay.addNode(new Node(1));
    283293        myWay.addNode(new Node(2));
     
    293303
    294304        assertEquals(4, mergedNodes.size());
    295         assertEquals(10, mergedNodes.get(0).id); // already merged node
    296         assertEquals(1, mergedNodes.get(1).id);  // copied node 1 at position 1
    297         assertEquals(11, mergedNodes.get(2).id); // already merged node
    298         assertEquals(12, mergedNodes.get(3).id); // already merged node
     305        assertEquals(10, mergedNodes.get(0).getId()); // already merged node
     306        assertEquals(1, mergedNodes.get(1).getId());  // copied node 1 at position 1
     307        assertEquals(11, mergedNodes.get(2).getId()); // already merged node
     308        assertEquals(12, mergedNodes.get(3).getId()); // already merged node
    299309
    300310        DefaultListSelectionModel mergedSelection = inspectListSelectionModel(model, "mergedEntriesSelectionModel");
     
    308318
    309319        Way myWay = new Way(1);
     320        myWay.incomplete = false;
    310321        myWay.addNode(new Node(1));
    311322        myWay.addNode(new Node(2));
     
    321332
    322333        assertEquals(5, mergedNodes.size());
    323         assertEquals(1, mergedNodes.get(0).id);  // copied node 1 at position 0
    324         assertEquals(2, mergedNodes.get(1).id);  // copied node 2 at position 1
    325         assertEquals(10, mergedNodes.get(2).id); // already merged node
    326         assertEquals(11, mergedNodes.get(3).id); // already merged node
    327         assertEquals(12, mergedNodes.get(4).id); // already merged node
     334        assertEquals(1, mergedNodes.get(0).getId());  // copied node 1 at position 0
     335        assertEquals(2, mergedNodes.get(1).getId());  // copied node 2 at position 1
     336        assertEquals(10, mergedNodes.get(2).getId()); // already merged node
     337        assertEquals(11, mergedNodes.get(3).getId()); // already merged node
     338        assertEquals(12, mergedNodes.get(4).getId()); // already merged node
    328339
    329340        DefaultListSelectionModel mergedSelection = inspectListSelectionModel(model, "mergedEntriesSelectionModel");
     
    336347
    337348        Way myWay = new Way(1);
     349        myWay.incomplete = false;
    338350        myWay.addNode(new Node(1));
    339351        myWay.addNode(new Node(2));
     
    369381
    370382        Way myWay = new Way(1);
     383        myWay.incomplete = false;
    371384        myWay.addNode(new Node(1));
    372385        myWay.addNode(new Node(2));
     
    382395
    383396        assertEquals(4, mergedNodes.size());
    384         assertEquals(10, mergedNodes.get(0).id); // already merged node
    385         assertEquals(11, mergedNodes.get(1).id); // already merged node
    386         assertEquals(1, mergedNodes.get(2).id);  // copied node 1 at position 2
    387         assertEquals(12, mergedNodes.get(3).id); // already merged node
     397        assertEquals(10, mergedNodes.get(0).getId()); // already merged node
     398        assertEquals(11, mergedNodes.get(1).getId()); // already merged node
     399        assertEquals(1, mergedNodes.get(2).getId());  // copied node 1 at position 2
     400        assertEquals(12, mergedNodes.get(3).getId()); // already merged node
    388401
    389402        DefaultListSelectionModel mergedSelection = inspectListSelectionModel(model, "mergedEntriesSelectionModel");
     
    397410
    398411        Way myWay = new Way(1);
     412        myWay.incomplete = false;
    399413        myWay.addNode(new Node(1));
    400414        myWay.addNode(new Node(2));
     
    411425
    412426        assertEquals(5, mergedNodes.size());
    413         assertEquals(10, mergedNodes.get(0).id); // already merged node
    414         assertEquals(11, mergedNodes.get(1).id); // already merged node
    415         assertEquals(12, mergedNodes.get(2).id); // already merged node
    416         assertEquals(1, mergedNodes.get(3).id);  // copied node 1 at position 3
    417         assertEquals(2, mergedNodes.get(4).id);  // copied node 2 at position 4
     427        assertEquals(10, mergedNodes.get(0).getId()); // already merged node
     428        assertEquals(11, mergedNodes.get(1).getId()); // already merged node
     429        assertEquals(12, mergedNodes.get(2).getId()); // already merged node
     430        assertEquals(1, mergedNodes.get(3).getId());  // copied node 1 at position 3
     431        assertEquals(2, mergedNodes.get(4).getId());  // copied node 2 at position 4
    418432
    419433
     
    427441
    428442        Way myWay = new Way(1);
     443        myWay.incomplete = false;
    429444        myWay.addNode(new Node(1));
    430445        myWay.addNode(new Node(2));
     
    441456
    442457        assertEquals(5, mergedNodes.size());
    443         assertEquals(10, mergedNodes.get(0).id); // already merged node
    444         assertEquals(1, mergedNodes.get(1).id);  // copied node 1 at position 1
    445         assertEquals(3, mergedNodes.get(2).id);  // copied node 3 at position 2
    446         assertEquals(11, mergedNodes.get(3).id); // already merged node
    447         assertEquals(12, mergedNodes.get(4).id); // already merged node
     458        assertEquals(10, mergedNodes.get(0).getId()); // already merged node
     459        assertEquals(1, mergedNodes.get(1).getId());  // copied node 1 at position 1
     460        assertEquals(3, mergedNodes.get(2).getId());  // copied node 3 at position 2
     461        assertEquals(11, mergedNodes.get(3).getId()); // already merged node
     462        assertEquals(12, mergedNodes.get(4).getId()); // already merged node
    448463
    449464        DefaultListSelectionModel mergedSelection = inspectListSelectionModel(model, "mergedEntriesSelectionModel");
     
    456471
    457472        Way myWay = new Way(1);
     473        myWay.incomplete = false;
    458474        myWay.addNode(new Node(1));
    459475        myWay.addNode(new Node(2));
     
    489505
    490506        Way myWay = new Way(1);
     507        myWay.incomplete = false;
    491508        myWay.addNode(new Node(1));
    492509        myWay.addNode(new Node(2));
     
    502519
    503520        assertEquals(3, mergedNodes.size());
    504         assertEquals(11, mergedNodes.get(0).id);
    505         assertEquals(10, mergedNodes.get(1).id);
    506         assertEquals(12, mergedNodes.get(2).id);
     521        assertEquals(11, mergedNodes.get(0).getId());
     522        assertEquals(10, mergedNodes.get(1).getId());
     523        assertEquals(12, mergedNodes.get(2).getId());
    507524
    508525        DefaultListSelectionModel mergedSelection = inspectListSelectionModel(model, "mergedEntriesSelectionModel");
     
    515532
    516533        Way myWay = new Way(1);
     534        myWay.incomplete = false;
    517535        myWay.addNode(new Node(1));
    518536        myWay.addNode(new Node(2));
     
    530548
    531549        assertEquals(5, mergedNodes.size());
    532         assertEquals(11, mergedNodes.get(0).id);
    533         assertEquals(10, mergedNodes.get(1).id);
    534         assertEquals(12, mergedNodes.get(2).id);
    535         assertEquals(14, mergedNodes.get(3).id);
    536         assertEquals(13, mergedNodes.get(4).id);
     550        assertEquals(11, mergedNodes.get(0).getId());
     551        assertEquals(10, mergedNodes.get(1).getId());
     552        assertEquals(12, mergedNodes.get(2).getId());
     553        assertEquals(14, mergedNodes.get(3).getId());
     554        assertEquals(13, mergedNodes.get(4).getId());
    537555
    538556        DefaultListSelectionModel mergedSelection = inspectListSelectionModel(model, "mergedEntriesSelectionModel");
     
    545563
    546564        Way myWay = new Way(1);
     565        myWay.incomplete = false;
    547566        myWay.addNode(new Node(1));
    548567        myWay.addNode(new Node(2));
     
    560579
    561580        assertEquals(5, mergedNodes.size());
    562         assertEquals(11, mergedNodes.get(0).id);
    563         assertEquals(12, mergedNodes.get(1).id);
    564         assertEquals(13, mergedNodes.get(2).id);
    565         assertEquals(14, mergedNodes.get(3).id);
    566         assertEquals(10, mergedNodes.get(4).id);
     581        assertEquals(11, mergedNodes.get(0).getId());
     582        assertEquals(12, mergedNodes.get(1).getId());
     583        assertEquals(13, mergedNodes.get(2).getId());
     584        assertEquals(14, mergedNodes.get(3).getId());
     585        assertEquals(10, mergedNodes.get(4).getId());
    567586
    568587        DefaultListSelectionModel mergedSelection = inspectListSelectionModel(model, "mergedEntriesSelectionModel");
     
    578597
    579598        Way myWay = new Way(1);
     599        myWay.incomplete = false;
    580600        myWay.addNode(new Node(1));
    581601        myWay.addNode(new Node(2));
     
    591611
    592612        assertEquals(3, mergedNodes.size());
    593         assertEquals(10, mergedNodes.get(0).id);
    594         assertEquals(12, mergedNodes.get(1).id);
    595         assertEquals(11, mergedNodes.get(2).id);
     613        assertEquals(10, mergedNodes.get(0).getId());
     614        assertEquals(12, mergedNodes.get(1).getId());
     615        assertEquals(11, mergedNodes.get(2).getId());
    596616
    597617        DefaultListSelectionModel mergedSelection = inspectListSelectionModel(model, "mergedEntriesSelectionModel");
     
    604624
    605625        Way myWay = new Way(1);
     626        myWay.incomplete = false;
    606627        myWay.addNode(new Node(1));
    607628        myWay.addNode(new Node(2));
     
    619640
    620641        assertEquals(5, mergedNodes.size());
    621         assertEquals(10, mergedNodes.get(0).id);
    622         assertEquals(12, mergedNodes.get(1).id);
    623         assertEquals(11, mergedNodes.get(2).id);
    624         assertEquals(14, mergedNodes.get(3).id);
    625         assertEquals(13, mergedNodes.get(4).id);
     642        assertEquals(10, mergedNodes.get(0).getId());
     643        assertEquals(12, mergedNodes.get(1).getId());
     644        assertEquals(11, mergedNodes.get(2).getId());
     645        assertEquals(14, mergedNodes.get(3).getId());
     646        assertEquals(13, mergedNodes.get(4).getId());
    626647
    627648        DefaultListSelectionModel mergedSelection = inspectListSelectionModel(model, "mergedEntriesSelectionModel");
     
    634655
    635656        Way myWay = new Way(1);
     657        myWay.incomplete = false;
    636658        myWay.addNode(new Node(1));
    637659        myWay.addNode(new Node(2));
     
    649671
    650672        assertEquals(5, mergedNodes.size());
    651         assertEquals(10, mergedNodes.get(0).id);
    652         assertEquals(14, mergedNodes.get(1).id);
    653         assertEquals(11, mergedNodes.get(2).id);
    654         assertEquals(12, mergedNodes.get(3).id);
    655         assertEquals(13, mergedNodes.get(4).id);
     673        assertEquals(10, mergedNodes.get(0).getId());
     674        assertEquals(14, mergedNodes.get(1).getId());
     675        assertEquals(11, mergedNodes.get(2).getId());
     676        assertEquals(12, mergedNodes.get(3).getId());
     677        assertEquals(13, mergedNodes.get(4).getId());
    656678
    657679        DefaultListSelectionModel mergedSelection = inspectListSelectionModel(model, "mergedEntriesSelectionModel");
Note: See TracChangeset for help on using the changeset viewer.