Changeset 2381 in josm


Ignore:
Timestamp:
2009-11-02T07:51:28+01:00 (14 years ago)
Author:
jttt
Message:

Change most occurrences of Dataset.nodes/ways/relations with getNodes()/../.. or addPrimitive

Location:
trunk
Files:
40 edited

Legend:

Unmodified
Added
Removed
  • trunk/.classpath

    r1650 r2381  
    55        <classpathentry kind="src" path="test/functional"/>
    66        <classpathentry excluding="build/|dist/|src/|test/|test/unit/|test/functional/" including="images/|presets/|styles/" kind="src" path=""/>
    7         <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
     7        <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JDK 5"/>
    88        <classpathentry kind="lib" path="lib/metadata-extractor-2.3.1-nosun.jar"/>
    99        <classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
  • trunk/src/org/openstreetmap/josm/actions/CombineWayAction.java

    r2356 r2381  
    250250         */
    251251        public void build(DataSet ds) {
    252             for (Relation r: ds.relations) {
     252            for (Relation r : ds.getRelations()) {
    253253                if (!r.isUsable()) {
    254254                    continue;
  • trunk/src/org/openstreetmap/josm/actions/SplitWayAction.java

    r2323 r2381  
    103103            HashMap<Way, Integer> wayOccurenceCounter = new HashMap<Way, Integer>();
    104104            for (Node n : selectedNodes) {
    105                 for (Way w : getCurrentDataSet().ways) {
     105                for (Way w : getCurrentDataSet().getWays()) {
    106106                    if (!w.isUsable()) {
    107107                        continue;
    108108                    }
    109                     int last = w.getNodesCount()-1;
    110                     if(last <= 0) {
     109                    int last = w.getNodesCount() - 1;
     110                    if (last <= 0) {
    111111                        continue; // zero or one node ways
    112112                    }
     
    116116                        if ((circular || (i > 0 && i < last)) && n.equals(wn)) {
    117117                            Integer old = wayOccurenceCounter.get(w);
    118                             wayOccurenceCounter.put(w, (old == null) ? 1 : old+1);
     118                            wayOccurenceCounter.put(w, (old == null) ? 1 : old + 1);
    119119                            break;
    120120                        }
     
    248248
    249249        if (wayChunks.size() < 2) {
    250             if(wayChunks.get(0).get(0) == wayChunks.get(0).get(wayChunks.get(0).size()-1)) {
     250            if (wayChunks.get(0).get(0) == wayChunks.get(0).get(wayChunks.get(0).size() - 1)) {
    251251                JOptionPane.showMessageDialog(
    252252                        Main.parent,
     
    290290
    291291        }
    292         Boolean warnmerole=false;
    293         Boolean warnme=false;
     292        Boolean warnmerole = false;
     293        Boolean warnme = false;
    294294        // now copy all relations to new way also
    295295
    296         for (Relation r : getCurrentDataSet().relations) {
     296        for (Relation r : getCurrentDataSet().getRelations()) {
    297297            if (!r.isUsable()) {
    298298                continue;
     
    307307            for (RelationMember rm : r.getMembers()) {
    308308                if (rm.isWay()) {
    309                     if (rm.getMember() == selectedWay)
    310                     {
    311                         if(!("route".equals(type)) && !("multipolygon".equals(type))) {
     309                    if (rm.getMember() == selectedWay) {
     310                        if (!("route".equals(type)) && !("multipolygon".equals(type))) {
    312311                            warnme = true;
    313312                        }
     
    318317                        int j = i;
    319318                        boolean backwards = "backward".equals(rm.getRole());
    320                         for(Way wayToAdd : newWays)
    321                         {
     319                        for (Way wayToAdd : newWays) {
    322320                            RelationMember em = new RelationMember(rm.getRole(), wayToAdd);
    323                             if(em.hasRole() && !("multipolygon".equals(type))) {
     321                            if (em.hasRole() && !("multipolygon".equals(type))) {
    324322                                warnmerole = true;
    325323                            }
     
    342340            }
    343341        }
    344         if(warnmerole) {
     342        if (warnmerole) {
    345343            JOptionPane.showMessageDialog(
    346344                    Main.parent,
     
    348346                    tr("Warning"),
    349347                    JOptionPane.WARNING_MESSAGE);
    350         } else if(warnme) {
     348        } else if (warnme) {
    351349            JOptionPane.showMessageDialog(
    352350                    Main.parent,
  • trunk/src/org/openstreetmap/josm/actions/UnGlueAction.java

    r2323 r2381  
    6767        if (checkSelection(selection)) {
    6868            int count = 0;
    69             for (Way w : getCurrentDataSet().ways) {
     69            for (Way w : getCurrentDataSet().getWays()) {
    7070                if (!w.isUsable() || w.getNodesCount() < 1) {
    7171                    continue;
     
    7979                // If there aren't enough ways, maybe the user wanted to unglue the nodes
    8080                // (= copy tags to a new node)
    81                 if(checkForUnglueNode(selection)) {
     81                if (checkForUnglueNode(selection)) {
    8282                    unglueNode(e);
    8383                } else {
     
    9292            for (Node n : selectedNodes) {
    9393                int count = 0;
    94                 for (Way w : getCurrentDataSet().ways) {
     94                for (Way w : getCurrentDataSet().getWays()) {
    9595                    if (w.isDeleted() || w.incomplete || w.getNodesCount() < 1) {
    9696                        continue;
     
    185185     */
    186186    private boolean checkForUnglueNode(Collection<? extends OsmPrimitive> selection) {
    187         if(selection.size() != 1)
     187        if (selection.size() != 1)
    188188            return false;
    189189        OsmPrimitive n = (OsmPrimitive) selection.toArray()[0];
    190         if(!(n instanceof Node))
     190        if (!(n instanceof Node))
    191191            return false;
    192192        boolean isPartOfWay = false;
    193         for(Way w : getCurrentDataSet().ways) {
    194             if(w.containsNode((Node)n)) {
     193        for (Way w : getCurrentDataSet().getWays()) {
     194            if (w.containsNode((Node) n)) {
    195195                isPartOfWay = true;
    196196                break;
    197197            }
    198198        }
    199         if(!isPartOfWay)
    200             return false;
    201 
    202         selectedNode = (Node)n;
    203         return  selectedNode.isTagged();
     199        if (!isPartOfWay)
     200            return false;
     201
     202        selectedNode = (Node) n;
     203        return selectedNode.isTagged();
    204204    }
    205205
     
    322322        Relation newRel = null;
    323323        HashSet<String> rolesToReAdd = null;
    324         for (Relation r : getCurrentDataSet().relations) {
     324        for (Relation r : getCurrentDataSet().getRelations()) {
    325325            if (r.isDeleted() || r.incomplete) {
    326326                continue;
     
    367367            boolean firstway = true;
    368368            // modify all ways containing the nodes
    369             for (Way w : getCurrentDataSet().ways) {
     369            for (Way w : getCurrentDataSet().getWays()) {
    370370                if (w.isDeleted() || w.incomplete || w.getNodesCount() < 1) {
    371371                    continue;
  • trunk/src/org/openstreetmap/josm/actions/UpdateSelectionAction.java

    r2323 r2381  
    219219                // incomplete ways.
    220220                //
    221                 for (Way w: ds.ways) {
     221                for (Way w : ds.getWays()) {
    222222                    if (w.incomplete) {
    223223                        OsmServerObjectReader reader = new OsmServerObjectReader(w.getId(), OsmPrimitiveType.WAY, true /* full */);
  • trunk/src/org/openstreetmap/josm/actions/UploadSelectionAction.java

    r2323 r2381  
    6868    protected Set<OsmPrimitive> getDeletedPrimitives(DataSet ds) {
    6969        HashSet<OsmPrimitive> ret = new HashSet<OsmPrimitive>();
    70         for (OsmPrimitive p : ds.nodes) {
     70        for (OsmPrimitive p : ds.getNodes()) {
    7171            if (p.isDeleted() && !p.isNew() && p.isVisible() && p.isModified()) {
    7272                ret.add(p);
    7373            }
    7474        }
    75         for (OsmPrimitive p : ds.ways) {
     75        for (OsmPrimitive p : ds.getWays()) {
    7676            if (p.isDeleted() && !p.isNew() && p.isVisible() && p.isModified()) {
    7777                ret.add(p);
    7878            }
    7979        }
    80         for (OsmPrimitive p : ds.relations) {
     80        for (OsmPrimitive p : ds.getRelations()) {
    8181            if (p.isDeleted() && !p.isNew() && p.isVisible() && p.isModified()) {
    8282                ret.add(p);
  • trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadOsmTaskList.java

    r2336 r2381  
    22package org.openstreetmap.josm.actions.downloadtasks;
    33
     4import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
    45import static org.openstreetmap.josm.tools.I18n.tr;
    5 import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
    66
    77import java.awt.EventQueue;
     
    106106    protected Set<OsmPrimitive> getCompletePrimitives(DataSet ds) {
    107107        HashSet<OsmPrimitive> ret = new HashSet<OsmPrimitive>();
    108         for (OsmPrimitive primitive : ds.nodes) {
     108        for (OsmPrimitive primitive : ds.getNodes()) {
    109109            if (!primitive.incomplete && !primitive.isNew()) {
    110110                ret.add(primitive);
    111111            }
    112112        }
    113         for (OsmPrimitive primitive : ds.ways) {
     113        for (OsmPrimitive primitive : ds.getWays()) {
    114114            if (!primitive.incomplete && !primitive.isNew()) {
    115115                ret.add(primitive);
    116116            }
    117117        }
    118         for (OsmPrimitive primitive : ds.relations) {
     118        for (OsmPrimitive primitive : ds.getRelations()) {
    119119            if (!primitive.incomplete && !primitive.isNew()) {
    120120                ret.add(primitive);
     
    155155        ButtonSpec[] options = new ButtonSpec[] {
    156156                new ButtonSpec(
    157                         tr("Check on the server"), 
     157                        tr("Check on the server"),
    158158                        ImageProvider.get("ok"),
    159                         tr("Click to check whether objects in your local dataset are deleted on the server"), 
     159                        tr("Click to check whether objects in your local dataset are deleted on the server"),
    160160                        null  /* no specific help topic */
    161                 ), 
     161                ),
    162162                new ButtonSpec(
    163                         tr("Ignore"), 
    164                         ImageProvider.get("cancel"), 
    165                         tr("Click to abort and to resume editing"), 
     163                        tr("Ignore"),
     164                        ImageProvider.get("cancel"),
     165                        tr("Click to abort and to resume editing"),
    166166                        null /* no specific help topic */
    167167                ),
     
    172172                + "update them the server is likely to report a<br>" + "conflict.<br>" + "<br>"
    173173                + "Click <strong>{1}</strong> to check the state of these primitives<br>" + "on the server.<br>"
    174                 + "Click <strong>{2}</strong> to ignore.<br>" + "</html>", 
    175                 potentiallyDeleted.size(), 
     174                + "Click <strong>{2}</strong> to ignore.<br>" + "</html>",
     175                potentiallyDeleted.size(),
    176176                options[0].text,
    177177                options[1].text
    178                 );
     178        );
    179179
    180180        int ret = HelpAwareOptionPane.showOptionDialog(
    181                 Main.parent, 
    182                 message, 
     181                Main.parent,
     182                message,
    183183                tr("Deleted or moved primitives"),
    184                 JOptionPane.WARNING_MESSAGE, 
    185                 null, 
    186                 options, 
     184                JOptionPane.WARNING_MESSAGE,
     185                null,
     186                options,
    187187                options[0],
    188188                ht("/Action/UpdateData#SyncPotentiallyDeletedObjects")
     
    190190        if (ret != 0 /* OK */)
    191191            return;
    192        
    193         updatePotentiallyDeletedPrimitives(potentiallyDeleted);       
     192
     193        updatePotentiallyDeletedPrimitives(potentiallyDeleted);
    194194    }
    195195
     
    205205                DataSet ds = ((DownloadOsmTask) task).getDownloadedData();
    206206                if (ds != null) {
    207                     ret.addAll(ds.nodes);
    208                     ret.addAll(ds.ways);
    209                     ret.addAll(ds.relations);
     207                    ret.addAll(ds.getNodes());
     208                    ret.addAll(ds.getWays());
     209                    ret.addAll(ds.getRelations());
    210210                }
    211211            }
     
    242242                    } else if (error instanceof Exception) {
    243243                        sb.append("<li>").append(ExceptionUtil.explainException((Exception) error)).append("</li>")
    244                                 .append("<br>");
     244                        .append("<br>");
    245245                    }
    246246                }
     
    272272                        DataSet ds = ((DownloadOsmTask) task).getDownloadedData();
    273273                        if (ds != null) {
    274                             myPrimitives.removeAll(ds.nodes);
    275                             myPrimitives.removeAll(ds.ways);
    276                             myPrimitives.removeAll(ds.relations);
     274                            myPrimitives.removeAll(ds.getNodes());
     275                            myPrimitives.removeAll(ds.getWays());
     276                            myPrimitives.removeAll(ds.getRelations());
    277277                        }
    278278                    }
  • trunk/src/org/openstreetmap/josm/actions/mapmode/DrawAction.java

    r2351 r2381  
    779779    public Way getWayForNode(Node n) {
    780780        Way way = null;
    781         for (Way w : getCurrentDataSet().ways) {
     781        for (Way w : getCurrentDataSet().getWays()) {
    782782            if (!w.isUsable() || w.getNodesCount() < 1) {
    783783                continue;
  • trunk/src/org/openstreetmap/josm/command/WayNodesConflictResolverCommand.java

    r2163 r2381  
    6969        //
    7070        for (Node n:mergedNodeList) {
    71             if (! getLayer().data.nodes.contains(n)) {
     71            if (! getLayer().data.getNodes().contains(n)) {
    7272                logger.warning(tr("Main dataset does not include node {0}", n.toString()));
    7373            }
  • trunk/src/org/openstreetmap/josm/corrector/ReverseWayTagCorrector.java

    r1938 r2381  
    7272    public Collection<Command> execute(Way oldway, Way way) throws UserCancelException {
    7373        Map<OsmPrimitive, List<TagCorrection>> tagCorrectionsMap =
    74             new HashMap<OsmPrimitive, List<TagCorrection>>();
     74                new HashMap<OsmPrimitive, List<TagCorrection>>();
    7575
    7676        ArrayList<OsmPrimitive> primitives = new ArrayList<OsmPrimitive>();
     
    112112
    113113        Map<OsmPrimitive, List<RoleCorrection>> roleCorrectionMap =
    114             new HashMap<OsmPrimitive, List<RoleCorrection>>();
     114                new HashMap<OsmPrimitive, List<RoleCorrection>>();
    115115        roleCorrectionMap.put(way, new ArrayList<RoleCorrection>());
    116116
    117         for (Relation relation : Main.main.getCurrentDataSet().relations) {
     117        for (Relation relation : Main.main.getCurrentDataSet().getRelations()) {
    118118            int position = 0;
    119119            for (RelationMember member : relation.getMembers()) {
  • trunk/src/org/openstreetmap/josm/data/conflict/ConflictCollection.java

    r2181 r2381  
    5454
    5555    protected void fireConflictAdded() {
    56         Iterator<IConflictListener> it = listeners.iterator();
    57         while(it.hasNext()) {
    58             it.next().onConflictsAdded(this);
     56        for (IConflictListener listener : listeners) {
     57            listener.onConflictsAdded(this);
    5958        }
    6059    }
  • trunk/src/org/openstreetmap/josm/data/osm/BackreferencedDataSet.java

    r2181 r2381  
    105105            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null."));
    106106        this.source = source;
    107         int size = source.ways.size() + source.relations.size();
     107        int size = source.getWays().size() + source.getRelations().size();
    108108        referers = new HashMap<OsmPrimitive, Set<OsmPrimitive>>(size, 0.75f);
    109109    }
     
    131131     */
    132132    public void build() {
    133         for (Way w: source.ways) {
    134             for (Node n: w.getNodes()) {
    135                 remember(w,n);
    136             }
    137         }
    138         for (Relation r: source.relations) {
    139             for (RelationMember m: r.getMembers()) {
     133        for (Way w : source.getWays()) {
     134            for (Node n : w.getNodes()) {
     135                remember(w, n);
     136            }
     137        }
     138        for (Relation r : source.getRelations()) {
     139            for (RelationMember m : r.getMembers()) {
    140140                remember(r, m.getMember());
    141141            }
  • trunk/src/org/openstreetmap/josm/data/osm/DataSet.java

    r2352 r2381  
    11// License: GPL. Copyright 2007 by Immanuel Scholz and others
    22package org.openstreetmap.josm.data.osm;
     3
    34import java.awt.geom.Area;
    45import java.util.ArrayList;
    56import java.util.Arrays;
    67import java.util.Collection;
     8import java.util.Collections;
    79import java.util.Comparator;
    810import java.util.HashMap;
     
    2628 */
    2729public class DataSet implements Cloneable {
    28    
     30
    2931    /**
    3032     * A list of listeners to selection changed events. The list is static, as listeners register
     
    3335     */
    3436    public static Collection<SelectionChangedListener> selListeners = new LinkedList<SelectionChangedListener>();
    35    
     37
    3638    /**
    3739     * notifies all registered selection change listeners about the current selection of
     
    5456     * All nodes goes here, even when included in other data (ways etc). This enables the instant
    5557     * conversion of the whole DataSet by iterating over this data structure.
    56      */
     58     * @deprecated Use getNodes() for read-only operations, addPrimitive() and removePrimitive() for modifications
     59     */
     60    @Deprecated
    5761    public QuadBuckets<Node> nodes = new QuadBuckets<Node>();
    5862
     63    public Collection<Node> getNodes() {
     64        return Collections.unmodifiableCollection(nodes);
     65    }
     66
    5967    /**
    6068     * All ways (Streets etc.) in the DataSet.
    6169     *
    6270     * The way nodes are stored only in the way list.
    63      */
     71     * @deprecated Use getWays() for read-only operations, addPrimitive() and removePrimitive() for modifications
     72     */
     73    @Deprecated
    6474    public QuadBuckets<Way> ways = new QuadBuckets<Way>();
    6575
     76    public Collection<Way> getWays() {
     77        return Collections.unmodifiableCollection(ways);
     78    }
     79
    6680    /**
    6781     * All relations/relationships
    68      */
     82     * @deprecated Use getRelations() for read-only operations, addPrimitive() and removePrimitive() for modifications
     83     */
     84    @Deprecated
    6985    public Collection<Relation> relations = new LinkedList<Relation>();
    7086
     87    public Collection<Relation> getRelations() {
     88        return Collections.unmodifiableCollection(relations);
     89    }
     90
    7191    /**
    7292     * All data sources of this DataSet.
    7393     */
    7494    public Collection<DataSource> dataSources = new LinkedList<DataSource>();
    75    
     95
    7696    /**
    7797     * @return A collection containing all primitives of the dataset. The data is ordered after:
     
    255275
    256276    public boolean toggleSelected(Collection<OsmPrimitive> osm) {
    257         for (OsmPrimitive o : osm)
     277        for (OsmPrimitive o : osm) {
    258278            this.__toggleSelected(o);
     279        }
    259280        fireSelectionChanged();
    260281        return true;
     
    405426
    406427    /**
    407      * Notifies all registered {@see SelectionChangedListener} about the current selection in 
     428     * Notifies all registered {@see SelectionChangedListener} about the current selection in
    408429     * this dataset.
    409430     *
     
    491512        Collection<? extends OsmPrimitive> primitives = null;
    492513        switch(type) {
    493             case NODE: primitives = nodes; break;
    494             case WAY: primitives = ways; break;
    495             case RELATION: primitives = relations; break;
     514        case NODE: primitives = nodes; break;
     515        case WAY: primitives = ways; break;
     516        case RELATION: primitives = relations; break;
    496517        }
    497518        for (OsmPrimitive primitive : primitives) {
     
    502523            OsmPrimitive result = null;
    503524            switch (type) {
    504                 case NODE: result = new Node(id, true); break;
    505                 case WAY: result = new Way(id, true); break;
    506                 case RELATION: result = new Relation(id, true); break;
     525            case NODE: result = new Node(id, true); break;
     526            case WAY: result = new Way(id, true); break;
     527            case RELATION: result = new Relation(id, true); break;
    507528            }
    508529            addPrimitive(result);
  • trunk/src/org/openstreetmap/josm/data/osm/Relation.java

    r2363 r2381  
    158158        super.load(data, dataSet);
    159159
    160         RelationData relationData = (RelationData)data;
     160        RelationData relationData = (RelationData) data;
    161161
    162162        // TODO Make this faster
     
    169169        Map<Long, Relation> relations = new HashMap<Long, Relation>();
    170170
    171         for (RelationMemberData member:relationData.getMembers()) {
     171        for (RelationMemberData member : relationData.getMembers()) {
    172172            switch (member.getMemberType()) {
    173             case NODE:
    174                 nodes.put(member.getMemberId(), nodeMarker);
    175                 break;
    176             case WAY:
    177                 ways.put(member.getMemberId(), wayMarker);
    178                 break;
    179             case RELATION:
    180                 relations.put(member.getMemberId(), relationMarker);
    181                 break;
    182             }
    183         }
    184 
    185         for (Node node:dataSet.nodes) {
     173                case NODE:
     174                    nodes.put(member.getMemberId(), nodeMarker);
     175                    break;
     176                case WAY:
     177                    ways.put(member.getMemberId(), wayMarker);
     178                    break;
     179                case RELATION:
     180                    relations.put(member.getMemberId(), relationMarker);
     181                    break;
     182            }
     183        }
     184
     185        for (Node node : dataSet.getNodes()) {
    186186            if (nodes.get(node.getUniqueId()) == nodeMarker) {
    187187                nodes.put(node.getUniqueId(), node);
    188188            }
    189189        }
    190         for (Way way:dataSet.ways) {
     190        for (Way way : dataSet.getWays()) {
    191191            if (ways.get(way.getUniqueId()) == wayMarker) {
    192192                ways.put(way.getUniqueId(), way);
    193193            }
    194194        }
    195         for (Relation relation:dataSet.relations) {
     195        for (Relation relation : dataSet.getRelations()) {
    196196            if (relations.get(relation.getUniqueId()) == relationMarker) {
    197197                relations.put(relation.getUniqueId(), relation);
     
    200200
    201201        List<RelationMember> newMembers = new ArrayList<RelationMember>();
    202         for (RelationMemberData member:relationData.getMembers()) {
     202        for (RelationMemberData member : relationData.getMembers()) {
    203203            OsmPrimitive foundMember = null;
    204204            switch (member.getMemberType()) {
    205             case NODE:
    206                 foundMember = nodes.get(member.getMemberId());
    207                 if (foundMember == nodeMarker)
    208                     throw new AssertionError("Data consistency problem - relation with missing member detected");
    209                 break;
    210             case WAY:
    211                 foundMember = ways.get(member.getMemberId());
    212                 if (foundMember == wayMarker)
    213                     throw new AssertionError("Data consistency problem - relation with missing member detected");
    214                 break;
    215             case RELATION:
    216                 foundMember = relations.get(member.getMemberId());
    217                 if (foundMember == relationMarker)
    218                     throw new AssertionError("Data consistency problem - relation with missing member detected");
    219                 break;
     205                case NODE:
     206                    foundMember = nodes.get(member.getMemberId());
     207                    if (foundMember == nodeMarker)
     208                        throw new AssertionError("Data consistency problem - relation with missing member detected");
     209                    break;
     210                case WAY:
     211                    foundMember = ways.get(member.getMemberId());
     212                    if (foundMember == wayMarker)
     213                        throw new AssertionError("Data consistency problem - relation with missing member detected");
     214                    break;
     215                case RELATION:
     216                    foundMember = relations.get(member.getMemberId());
     217                    if (foundMember == relationMarker)
     218                        throw new AssertionError("Data consistency problem - relation with missing member detected");
     219                    break;
    220220            }
    221221            newMembers.add(new RelationMember(member.getRole(), foundMember));
  • trunk/src/org/openstreetmap/josm/data/osm/TagCollection.java

    r2305 r2381  
    111111        TagCollection tags = new TagCollection();
    112112        if (ds == null) return tags;
    113         tags.add(TagCollection.unionOfAllPrimitives(ds.nodes));
    114         tags.add(TagCollection.unionOfAllPrimitives(ds.ways));
    115         tags.add(TagCollection.unionOfAllPrimitives(ds.relations));
     113        tags.add(TagCollection.unionOfAllPrimitives(ds.getNodes()));
     114        tags.add(TagCollection.unionOfAllPrimitives(ds.getWays()));
     115        tags.add(TagCollection.unionOfAllPrimitives(ds.getRelations()));
    116116        return tags;
    117117    }
  • trunk/src/org/openstreetmap/josm/data/osm/Way.java

    r2363 r2381  
    177177        super.load(data, dataSet);
    178178
    179         WayData wayData = (WayData)data;
     179        WayData wayData = (WayData) data;
    180180
    181181        // TODO We should have some lookup by id mechanism in future to speed this up
    182182        Node marker = new Node(0);
    183183        Map<Long, Node> foundNodes = new HashMap<Long, Node>();
    184         for (Long nodeId:wayData.getNodes()) {
     184        for (Long nodeId : wayData.getNodes()) {
    185185            foundNodes.put(nodeId, marker);
    186186        }
    187         for (Node node:dataSet.nodes) {
     187        for (Node node : dataSet.getNodes()) {
    188188            if (foundNodes.get(node.getUniqueId()) == marker) {
    189189                foundNodes.put(node.getUniqueId(), node);
     
    192192
    193193        List<Node> newNodes = new ArrayList<Node>(wayData.getNodes().size());
    194         for (Long nodeId:wayData.getNodes()) {
     194        for (Long nodeId : wayData.getNodes()) {
    195195            Node node = foundNodes.get(nodeId);
    196196            if (node != marker) {
  • trunk/src/org/openstreetmap/josm/data/osm/visitor/CollectBackReferencesVisitor.java

    r2166 r2381  
    5252    }
    5353   
    54     private void makeLookupTable(){
    55        for (Way w : ds.ways) {
    56           for (Node n : w.getNodes()) {
    57              if(!lookupTable.containsKey(n)) lookupTable.put(n, new HashSet<OsmPrimitive>());
    58              lookupTable.get(n).add(w);
    59           }
    60        }
    61        for (Relation r : ds.relations) {
    62           for (RelationMember m : r.getMembers()) {
    63              OsmPrimitive o = m.getMember();
    64              if(!lookupTable.containsKey(o)) lookupTable.put(o, new HashSet<OsmPrimitive>());
    65              lookupTable.get(o).add(r);
    66           }
    67        }
     54    private void makeLookupTable() {
     55        for (Way w : ds.getWays()) {
     56            for (Node n : w.getNodes()) {
     57                if (!lookupTable.containsKey(n)) lookupTable.put(n, new HashSet<OsmPrimitive>());
     58                lookupTable.get(n).add(w);
     59            }
     60        }
     61        for (Relation r : ds.getRelations()) {
     62            for (RelationMember m : r.getMembers()) {
     63                OsmPrimitive o = m.getMember();
     64                if (!lookupTable.containsKey(o)) lookupTable.put(o, new HashSet<OsmPrimitive>());
     65                lookupTable.get(o).add(r);
     66            }
     67        }
    6868    }
    6969
  • trunk/src/org/openstreetmap/josm/data/osm/visitor/MapPaintVisitor.java

    r2354 r2381  
    2424import java.util.Collection;
    2525import java.util.Collections;
     26import java.util.Comparator;
    2627import java.util.Iterator;
    2728import java.util.LinkedList;
    2829import java.util.List;
    29 import java.util.TreeSet;
    30 import java.util.Comparator;
    3130
    3231import javax.swing.ImageIcon;
     
    532531    }
    533532
     533    @Override
    534534    public void visit(Relation r) {};
    535535    public void paintUnselectedRelation(Relation r) {
     
    10311031                for (PolyData pd : outerPoly) {
    10321032                    Polygon p = pd.get();
    1033                     if(!isPolygonVisible(p))
     1033                    if(!isPolygonVisible(p)) {
    10341034                        continue;
     1035                    }
    10351036
    10361037                    boolean selected = pd.selected || data.isSelected(pd.way) || data.isSelected(r);
     
    10551056                if(innerStyle == null)
    10561057                {
    1057                     if (data.isSelected(wInner))
     1058                    if (data.isSelected(wInner)) {
    10581059                        continue;
     1060                    }
    10591061                    if(zoomok && (wInner.mappaintDrawnCode != paintid
    10601062                            || outer.size() == 0))
     
    10891091                {
    10901092                    // Selected ways are drawn at the very end
    1091                     if (data.isSelected(wOuter))
     1093                    if (data.isSelected(wOuter)) {
    10921094                        continue;
     1095                    }
    10931096                    if(zoomok)
    10941097                    {
     
    11341137    protected Point2D getCentroid(Polygon p)
    11351138    {
    1136         double cx = 0.0, cy = 0.0, a = 0.0;
    1137 
    1138         // usually requires points[0] == points[npoints] and can then use i+1 instead of j.
    1139         // Faked it slowly using j.  If this is really gets used, this should be fixed.
    1140         for (int i = 0;  i < p.npoints;  i++) {
    1141             int j = i+1 == p.npoints ? 0 : i+1;
    1142             a += (p.xpoints[i] * p.ypoints[j]) - (p.ypoints[i] * p.xpoints[j]);
    1143             cx += (p.xpoints[i] + p.xpoints[j]) * (p.xpoints[i] * p.ypoints[j] - p.ypoints[i] * p.xpoints[j]);
    1144             cy += (p.ypoints[i] + p.ypoints[j]) * (p.xpoints[i] * p.ypoints[j] - p.ypoints[i] * p.xpoints[j]);
    1145         }
    1146         return new Point2D.Double(cx / (3.0*a), cy / (3.0*a));
     1139        double cx = 0.0, cy = 0.0, a = 0.0;
     1140
     1141        // usually requires points[0] == points[npoints] and can then use i+1 instead of j.
     1142        // Faked it slowly using j.  If this is really gets used, this should be fixed.
     1143        for (int i = 0;  i < p.npoints;  i++) {
     1144            int j = i+1 == p.npoints ? 0 : i+1;
     1145            a += (p.xpoints[i] * p.ypoints[j]) - (p.ypoints[i] * p.xpoints[j]);
     1146            cx += (p.xpoints[i] + p.xpoints[j]) * (p.xpoints[i] * p.ypoints[j] - p.ypoints[i] * p.xpoints[j]);
     1147            cy += (p.ypoints[i] + p.ypoints[j]) * (p.xpoints[i] * p.ypoints[j] - p.ypoints[i] * p.xpoints[j]);
     1148        }
     1149        return new Point2D.Double(cx / (3.0*a), cy / (3.0*a));
    11471150    }
    11481151
    11491152    protected double getArea(Polygon p)
    11501153    {
    1151         double sum = 0.0;
    1152 
    1153         // usually requires points[0] == points[npoints] and can then use i+1 instead of j.
    1154         // Faked it slowly using j.  If this is really gets used, this should be fixed.
    1155         for (int i = 0;  i < p.npoints;  i++) {
    1156             int j = i+1 == p.npoints ? 0 : i+1;
    1157             sum = sum + (p.xpoints[i] * p.ypoints[j]) - (p.ypoints[i] * p.xpoints[j]);
    1158         }
    1159         return Math.abs(sum/2.0);
     1154        double sum = 0.0;
     1155
     1156        // usually requires points[0] == points[npoints] and can then use i+1 instead of j.
     1157        // Faked it slowly using j.  If this is really gets used, this should be fixed.
     1158        for (int i = 0;  i < p.npoints;  i++) {
     1159            int j = i+1 == p.npoints ? 0 : i+1;
     1160            sum = sum + (p.xpoints[i] * p.ypoints[j]) - (p.ypoints[i] * p.xpoints[j]);
     1161        }
     1162        return Math.abs(sum/2.0);
    11601163    }
    11611164
     
    11681171        g.fillPolygon(polygon);
    11691172
    1170         if (showNames > dist) {
    1171             String name = getWayName(w);
    1172             if (name!=null /* && annotate */) {
    1173                 Rectangle pb = polygon.getBounds();
    1174                 FontMetrics fontMetrics = g.getFontMetrics(orderFont); // if slow, use cache
    1175                 Rectangle2D nb = fontMetrics.getStringBounds(name, g); // if slow, approximate by strlen()*maxcharbounds(font)
    1176 
    1177                 // Point2D c = getCentroid(polygon);
    1178                 // Using the Centroid is Nicer for buildings like: +--------+
    1179                 // but this needs to be fast.  As most houses are  |   42   |
    1180                 // boxes anyway, the center of the bounding box    +---++---+
    1181                 // will have to do.                                    ++
    1182                 // Centroids are not optimal either, just imagine a U-shaped house.
    1183                 // Point2D c = new Point2D.Double(pb.x + pb.width / 2.0, pb.y + pb.height / 2.0);
    1184                 // Rectangle2D.Double centeredNBounds =
    1185                 //     new Rectangle2D.Double(c.getX() - nb.getWidth()/2,
    1186                 //                            c.getY() - nb.getHeight()/2,
    1187                 //                            nb.getWidth(),
    1188                 //                            nb.getHeight());
    1189 
    1190                 Rectangle centeredNBounds = new Rectangle(pb.x + (int)((pb.width - nb.getWidth())/2.0),
    1191                                                           pb.y + (int)((pb.height - nb.getHeight())/2.0),
    1192                                                           (int)nb.getWidth(),
    1193                                                           (int)nb.getHeight());
    1194 
    1195                 //// Draw name bounding box for debugging:
    1196                 // g.setColor(new Color(255,255,0,128));
    1197                 // g.drawRect((int)centeredNBounds.getMinX(),
    1198                 //         (int)centeredNBounds.getMinY(),
    1199                 //         (int)centeredNBounds.getWidth(),
    1200                 //         (int)centeredNBounds.getHeight());
    1201 
    1202                 if ((pb.width >= nb.getWidth() && pb.height >= nb.getHeight()) && // quick check
    1203                     polygon.contains(centeredNBounds) // slow but nice
    1204                     ) {
    1205                     g.setColor(areaTextColor);
    1206                     Font defaultFont = g.getFont();
    1207                     g.setFont (orderFont);
    1208                     g.drawString (name,
    1209                                   (int)(centeredNBounds.getMinX() - nb.getMinX()),
    1210                                   (int)(centeredNBounds.getMinY() - nb.getMinY()));
    1211                     g.setFont(defaultFont);
    1212                 }
    1213             }
    1214         }
     1173        if (showNames > dist) {
     1174            String name = getWayName(w);
     1175            if (name!=null /* && annotate */) {
     1176                Rectangle pb = polygon.getBounds();
     1177                FontMetrics fontMetrics = g.getFontMetrics(orderFont); // if slow, use cache
     1178                Rectangle2D nb = fontMetrics.getStringBounds(name, g); // if slow, approximate by strlen()*maxcharbounds(font)
     1179
     1180                // Point2D c = getCentroid(polygon);
     1181                // Using the Centroid is Nicer for buildings like: +--------+
     1182                // but this needs to be fast.  As most houses are  |   42   |
     1183                // boxes anyway, the center of the bounding box    +---++---+
     1184                // will have to do.                                    ++
     1185                // Centroids are not optimal either, just imagine a U-shaped house.
     1186                // Point2D c = new Point2D.Double(pb.x + pb.width / 2.0, pb.y + pb.height / 2.0);
     1187                // Rectangle2D.Double centeredNBounds =
     1188                //     new Rectangle2D.Double(c.getX() - nb.getWidth()/2,
     1189                //                            c.getY() - nb.getHeight()/2,
     1190                //                            nb.getWidth(),
     1191                //                            nb.getHeight());
     1192
     1193                Rectangle centeredNBounds = new Rectangle(pb.x + (int)((pb.width - nb.getWidth())/2.0),
     1194                        pb.y + (int)((pb.height - nb.getHeight())/2.0),
     1195                        (int)nb.getWidth(),
     1196                        (int)nb.getHeight());
     1197
     1198                //// Draw name bounding box for debugging:
     1199                // g.setColor(new Color(255,255,0,128));
     1200                // g.drawRect((int)centeredNBounds.getMinX(),
     1201                //         (int)centeredNBounds.getMinY(),
     1202                //         (int)centeredNBounds.getWidth(),
     1203                //         (int)centeredNBounds.getHeight());
     1204
     1205                if ((pb.width >= nb.getWidth() && pb.height >= nb.getHeight()) && // quick check
     1206                        polygon.contains(centeredNBounds) // slow but nice
     1207                ) {
     1208                    g.setColor(areaTextColor);
     1209                    Font defaultFont = g.getFont();
     1210                    g.setFont (orderFont);
     1211                    g.drawString (name,
     1212                            (int)(centeredNBounds.getMinX() - nb.getMinX()),
     1213                            (int)(centeredNBounds.getMinY() - nb.getMinY()));
     1214                    g.setFont(defaultFont);
     1215                }
     1216            }
     1217        }
    12151218    }
    12161219
    12171220    protected String getWayName(Way w) {
    1218         String name = null;
    1219         if (w.hasKeys()) {
    1220             for (String rn : regionalNameOrder) {
    1221                 name = w.get(rn);
    1222                 if (name != null) {
    1223                     break;
    1224                 }
    1225             }
    1226         }
    1227         return name;
     1221        String name = null;
     1222        if (w.hasKeys()) {
     1223            for (String rn : regionalNameOrder) {
     1224                name = w.get(rn);
     1225                if (name != null) {
     1226                    break;
     1227                }
     1228            }
     1229        }
     1230        return name;
    12281231    }
    12291232
     
    14101413        ArrayList<T> sorted = new ArrayList<T>(prims);
    14111414        Collections.sort(sorted,
    1412             new Comparator<T>() {
    1413                 public int compare(T o1, T o2) {
    1414                     boolean s1 = data.isSelected(o1);
    1415                     boolean s2 = data.isSelected(o2);
    1416                     if (s1 && !s2)
    1417                         return 1;
    1418                     if (!s1 && s2)
    1419                         return -1;
    1420                     return o1.compareTo(o2);
    1421                 }
    1422             });
     1415                new Comparator<T>() {
     1416            public int compare(T o1, T o2) {
     1417                boolean s1 = data.isSelected(o1);
     1418                boolean s2 = data.isSelected(o2);
     1419                if (s1 && !s2)
     1420                    return 1;
     1421                if (!s1 && s2)
     1422                    return -1;
     1423                return o1.compareTo(o2);
     1424            }
     1425        });
    14231426        return sorted;
    14241427    }
     
    14311434        //profilerOmitDraw = Main.pref.getBoolean("mappaint.profiler.omitdraw",false);
    14321435
    1433         useStyleCache = Main.pref.getBoolean("mappaint.cache",true);
     1436        useStyleCache = Main.pref.getBoolean("mappaint.cache", true);
    14341437        int fillAreas = Main.pref.getInteger("mappaint.fillareas", 10000000);
    14351438        fillAlpha = Math.min(255, Math.max(0, Integer.valueOf(Main.pref.getInteger("mappaint.fillalpha", 50))));
     
    14371440        showIcons = Main.pref.getInteger("mappaint.showicons", 10000000);
    14381441        useStrokes = Main.pref.getInteger("mappaint.strokes", 10000000);
    1439         LatLon ll1 = nc.getLatLon(0,0);
    1440         LatLon ll2 = nc.getLatLon(100,0);
     1442        LatLon ll1 = nc.getLatLon(0, 0);
     1443        LatLon ll2 = nc.getLatLon(100, 0);
    14411444        dist = ll1.greatCircleDistance(ll2);
    14421445
     
    14521455
    14531456        getSettings(virtual);
    1454         useRealWidth = Main.pref.getBoolean("mappaint.useRealWidth",false);
    1455         zoomLevelDisplay = Main.pref.getBoolean("mappaint.zoomLevelDisplay",false);
     1457        useRealWidth = Main.pref.getBoolean("mappaint.useRealWidth", false);
     1458        zoomLevelDisplay = Main.pref.getBoolean("mappaint.zoomLevelDisplay", false);
    14561459        circum = Main.map.mapView.getDist100Pixel();
    14571460        styles = MapPaintStyles.getStyles().getStyleSet();
    1458         drawMultipolygon = Main.pref.getBoolean("mappaint.multipolygon",true);
    1459         drawRestriction = Main.pref.getBoolean("mappaint.restriction",true);
     1461        drawMultipolygon = Main.pref.getBoolean("mappaint.multipolygon", true);
     1462        drawRestriction = Main.pref.getBoolean("mappaint.restriction", true);
    14601463        //restrictionDebug = Main.pref.getBoolean("mappaint.restriction.debug",false);
    1461         leftHandTraffic = Main.pref.getBoolean("mappaint.lefthandtraffic",false);
    1462         orderFont = new Font(Main.pref.get("mappaint.font","Helvetica"), Font.PLAIN, Main.pref.getInteger("mappaint.fontsize", 8));
    1463         String[] names = {"name:"+LanguageInfo.getJOSMLocaleCode(), "name", "int_name", "ref", "operator", "brand","addr:housenumber"};
     1464        leftHandTraffic = Main.pref.getBoolean("mappaint.lefthandtraffic", false);
     1465        orderFont = new Font(Main.pref.get("mappaint.font", "Helvetica"), Font.PLAIN, Main.pref.getInteger("mappaint.fontsize", 8));
     1466        String[] names = {"name:" + LanguageInfo.getJOSMLocaleCode(), "name", "int_name", "ref", "operator", "brand", "addr:housenumber"};
    14641467        regionalNameOrder = Main.pref.getCollection("mappaint.nameOrder", Arrays.asList(names));
    1465         minEN = nc.getEastNorth(0,nc.getHeight()-1);
    1466         maxEN = nc.getEastNorth(nc.getWidth()-1,0);
     1468        minEN = nc.getEastNorth(0, nc.getHeight() - 1);
     1469        maxEN = nc.getEastNorth(nc.getWidth() - 1, 0);
    14671470
    14681471
     
    14871490            /*** RELATIONS ***/
    14881491            //    profilerN = 0;
    1489             for (final Relation osm : data.relations)
    1490             {
    1491                 if(drawable(osm) && osm.mappaintVisibleCode != viewid)
    1492                 {
     1492            for (final Relation osm: data.getRelations()) {
     1493                if (drawable(osm) && osm.mappaintVisibleCode != viewid) {
    14931494                    paintUnselectedRelation(osm);
    14941495                    //            profilerN++;
     
    15041505            /*** AREAS ***/
    15051506            //    profilerN = 0;
    1506             for (final Way osm : selectedLast(data, data.ways)) {
     1507            for (final Way osm : selectedLast(data, data.getWays())) {
    15071508                if (drawable(osm)
    1508                         && osm.mappaintVisibleCode != viewid && osm.mappaintDrawnCode != paintid)
    1509                 {
    1510                     if(isPrimitiveArea(osm) && osm.mappaintDrawnAreaCode != paintid)
    1511                     {
     1509                        && osm.mappaintVisibleCode != viewid && osm.mappaintDrawnCode != paintid) {
     1510                    if (isPrimitiveArea(osm) && osm.mappaintDrawnAreaCode != paintid) {
    15121511                        drawWay(osm, fillAreas);
    15131512                        //                profilerN++;
    15141513                    }// else {
    1515                         noAreaWays.add(osm);
     1514                    noAreaWays.add(osm);
    15161515                    //}
    15171516                }
     
    15271526            /*** WAYS ***/
    15281527            //    profilerN = 0;
    1529             for (final Way osm : noAreaWays)
    1530             {
     1528            for (final Way osm : noAreaWays) {
    15311529                drawWay(osm, 0);
    15321530                //        profilerN++;
     
    15391537            //        profilerLast = java.lang.System.currentTimeMillis();
    15401538            //    }
    1541         }
    1542         else
    1543         {
     1539        } else {
    15441540            /*** WAYS (filling disabled)  ***/
    15451541            //    profilerN = 0;
    1546             for (final Way way : data.ways)
     1542            for (final Way way: data.getWays()) {
    15471543                if (drawable(way) && !data.isSelected(way)
    1548                         && way.mappaintVisibleCode != viewid )
    1549                 {
     1544                        && way.mappaintVisibleCode != viewid) {
    15501545                    drawWay(way, 0);
    15511546                    //            profilerN++;
    15521547                }
     1548            }
    15531549
    15541550            //    if(profiler)
     
    15651561            if (!osm.incomplete && !osm.isDeleted() && !(osm instanceof Node)
    15661562                    && osm.mappaintVisibleCode != viewid && osm.mappaintDrawnCode != paintid
    1567                     )
    1568             {
     1563            ) {
    15691564                osm.visit(new AbstractVisitor() {
    15701565                    public void visit(Way w) {
    15711566                        drawWay(w, 0);
    15721567                    }
     1568
    15731569                    public void visit(Node n) {
    15741570                        drawNode(n);
    15751571                    }
     1572
    15761573                    public void visit(Relation r) {
    15771574                        /* TODO: is it possible to do this like the nodes/ways code? */
     
    16011598        /*** NODES ***/
    16021599        //profilerN = 0;
    1603         for (final Node osm : data.nodes)
     1600        for (final Node osm: data.getNodes()) {
    16041601            if (!osm.incomplete && !osm.isDeleted() && (data.isSelected(osm) || !osm.isFiltered())
    16051602                    && osm.mappaintVisibleCode != viewid && osm.mappaintDrawnCode != paintid)
     
    16081605                //        profilerN++;
    16091606            }
     1607        }
    16101608
    16111609        //if(profiler)
     
    16171615
    16181616        /*** VIRTUAL  ***/
    1619         if (virtualNodeSize != 0)
    1620         {
     1617        if (virtualNodeSize != 0) {
    16211618            //    profilerN = 0;
    16221619            currentColor = nodeColor;
    1623             for (final OsmPrimitive osm : data.ways)
     1620            for (final OsmPrimitive osm: data.getWays()) {
    16241621                if (osm.isUsable() && !osm.isFiltered()
    16251622                        && osm.mappaintVisibleCode != viewid )
     
    16301627                    //            profilerN++;
    16311628                }
     1629            }
    16321630
    16331631            //    if(profiler)
  • trunk/src/org/openstreetmap/josm/data/osm/visitor/MergeSourceBuildingVisitor.java

    r2273 r2381  
    228228        for (OsmPrimitive primitive : mappedPrimitives.keySet()) {
    229229            OsmPrimitive clone = mappedPrimitives.get(primitive);
    230             if (clone instanceof Node) {
    231                 hull.nodes.add((Node)clone);
    232             } else if (clone instanceof Way) {
    233                 hull.ways.add((Way)clone);
    234             } else if (clone instanceof Relation) {
    235                 hull.relations.add((Relation)clone);
    236             }
     230            hull.addPrimitive(clone);
    237231        }
    238232    }
  • trunk/src/org/openstreetmap/josm/data/osm/visitor/MergeVisitor.java

    r2303 r2381  
    1 // License: GPL. Copyright 2007 by Immanuel Scholz and others
    21package org.openstreetmap.josm.data.osm.visitor;
    32
     
    6059        this.theirDataSet = theirDataSet;
    6160
    62         for (Node n : myDataSet.nodes) if (!n.isNew()) {
    63             nodeshash.put(n.getId(), n);
    64         }
    65         for (Way w : myDataSet.ways) if (!w.isNew()) {
    66             wayshash.put(w.getId(), w);
    67         }
    68         for (Relation r : myDataSet.relations) if (!r.isNew()) {
    69             relshash.put(r.getId(), r);
     61        for (Node n : myDataSet.getNodes()) {
     62            if (!n.isNew()) {
     63                nodeshash.put(n.getId(), n);
     64            }
     65        }
     66        for (Way w : myDataSet.getWays()) {
     67            if (!w.isNew()) {
     68                wayshash.put(w.getId(), w);
     69            }
     70        }
     71        for (Relation r : myDataSet.getRelations()) {
     72            if (!r.isNew()) {
     73                relshash.put(r.getId(), r);
     74            }
    7075        }
    7176        conflicts = new ConflictCollection();
     
    162167     */
    163168    public void fixReferences() {
    164         for (Way w : myDataSet.ways) {
     169        for (Way w : myDataSet.getWays()) {
    165170            fixWay(w);
    166171            fixIncomplete(w);
    167172        }
    168         for (Relation r : myDataSet.relations) {
     173        for (Relation r : myDataSet.getRelations()) {
    169174            fixRelation(r);
    170175        }
    171176        for (OsmPrimitive osm : conflicts.getMyConflictParties())
    172177            if (osm instanceof Way) {
    173                 fixWay((Way)osm);
     178                fixWay((Way) osm);
    174179            } else if (osm instanceof Relation) {
    175180                fixRelation((Relation) osm);
  • trunk/src/org/openstreetmap/josm/data/osm/visitor/SimplePaintVisitor.java

    r2264 r2381  
    150150           require changing the colour while painting... */
    151151        //profilerN = 0;
    152         for (final OsmPrimitive osm : data.relations)
     152        for (final OsmPrimitive osm: data.getRelations()) {
     153            if (!osm.isDeleted() && !ds.isSelected(osm) && !osm.isFiltered()) {
     154                osm.visit(this);
     155                //        profilerN++;
     156            }
     157        }
     158
     159        //if(profiler)
     160        //{
     161        //    System.out.format("Relations: %4dms, n=%5d\n", (java.lang.System.currentTimeMillis()-profilerLast), profilerN);
     162        //    profilerLast = java.lang.System.currentTimeMillis();
     163        //}
     164
     165        //profilerN = 0;
     166        for (final OsmPrimitive osm:data.getWays()){
     167            if (!osm.isDeleted() && !ds.isSelected(osm) && !osm.isFiltered() && osm.isTagged()) {
     168                osm.visit(this);
     169                //        profilerN++;
     170            }
     171        }
     172        displaySegments();
     173
     174        for (final OsmPrimitive osm:data.getWays()){
     175            if (!osm.isDeleted() && !ds.isSelected(osm) && !osm.isFiltered() && !osm.isTagged()) {
     176                osm.visit(this);
     177                //        profilerN++;
     178            }
     179        }
     180        displaySegments();
     181
     182        //if(profiler)
     183        //{
     184        //    System.out.format("Ways     : %4dms, n=%5d\n",
     185        //        (java.lang.System.currentTimeMillis()-profilerLast), profilerN);
     186        //    profilerLast = java.lang.System.currentTimeMillis();
     187        //}
     188
     189        //profilerN = 0;
     190        for (final OsmPrimitive osm : data.getSelected())
     191            if (!osm.isDeleted()) {
     192                osm.visit(this);
     193                //        profilerN++;
     194            }
     195        displaySegments();
     196
     197        //if(profiler)
     198        //{
     199        //    System.out.format("Selected : %4dms, n=%5d\n", (java.lang.System.currentTimeMillis()-profilerLast), profilerN);
     200        //    profilerLast = java.lang.System.currentTimeMillis();
     201        //}
     202
     203        //profilerN = 0;
     204        for (final OsmPrimitive osm: data.getNodes()) {
    153205            if (!osm.isDeleted() && !ds.isSelected(osm) && !osm.isFiltered())
    154206            {
     
    156208                //        profilerN++;
    157209            }
    158 
    159         //if(profiler)
    160         //{
    161         //    System.out.format("Relations: %4dms, n=%5d\n", (java.lang.System.currentTimeMillis()-profilerLast), profilerN);
    162         //    profilerLast = java.lang.System.currentTimeMillis();
    163         //}
    164 
    165         //profilerN = 0;
    166         for (final OsmPrimitive osm : data.ways)
    167             if (!osm.isDeleted() && !ds.isSelected(osm) && !osm.isFiltered() && osm.isTagged())
    168             {
    169                 osm.visit(this);
    170                 //        profilerN++;
    171             }
    172         displaySegments();
    173 
    174         for (final OsmPrimitive osm : data.ways)
    175             if (!osm.isDeleted() && !ds.isSelected(osm) && !osm.isFiltered() && !osm.isTagged())
    176             {
    177                 osm.visit(this);
    178                 //        profilerN++;
    179             }
    180         displaySegments();
    181 
    182         //if(profiler)
    183         //{
    184         //    System.out.format("Ways     : %4dms, n=%5d\n",
    185         //        (java.lang.System.currentTimeMillis()-profilerLast), profilerN);
    186         //    profilerLast = java.lang.System.currentTimeMillis();
    187         //}
    188 
    189         //profilerN = 0;
    190         for (final OsmPrimitive osm : data.getSelected())
    191             if (!osm.isDeleted())
    192             {
    193                 osm.visit(this);
    194                 //        profilerN++;
    195             }
    196         displaySegments();
    197 
    198         //if(profiler)
    199         //{
    200         //    System.out.format("Selected : %4dms, n=%5d\n", (java.lang.System.currentTimeMillis()-profilerLast), profilerN);
    201         //    profilerLast = java.lang.System.currentTimeMillis();
    202         //}
    203 
    204         //profilerN = 0;
    205         for (final OsmPrimitive osm : data.nodes)
    206             if (!osm.isDeleted() && !ds.isSelected(osm) && !osm.isFiltered())
    207             {
    208                 osm.visit(this);
    209                 //        profilerN++;
    210             }
     210        }
    211211
    212212        //if(profiler)
     
    217217        //}
    218218
    219         if(virtualNodeSize != 0)
    220         {
     219        if (virtualNodeSize != 0) {
    221220            //    profilerN = 0;
    222221            currentColor = nodeColor;
    223             for (final OsmPrimitive osm : data.ways)
    224                 if (!osm.isDeleted() && !osm.isDisabled() && !osm.isFiltered())
    225                 {
    226                     visitVirtual((Way)osm);
     222            for (final OsmPrimitive osm:data.getWays()){
     223                if (!osm.isDeleted() && !osm.isDisabled() && !osm.isFiltered()) {
     224                    visitVirtual((Way) osm);
    227225                    //                profilerN++;
    228226                }
     227            }
    229228            displaySegments();
    230229
  • trunk/src/org/openstreetmap/josm/gui/NavigatableComponent.java

    r2327 r2381  
    304304        Node minPrimitive = null;
    305305        DataSet ds = getCurrentDataSet();
    306         if(ds == null)
     306        if (ds == null)
    307307            return null;
    308         for (Node n : ds.nodes) {
     308        for (Node n : ds.getNodes()) {
    309309            if (!n.isUsable()) {
    310310                continue;
     
    317317            }
    318318            // when multiple nodes on one point, prefer new or selected nodes
    319             else if(dist == minDistanceSq && minPrimitive != null
     319            else if (dist == minDistanceSq && minPrimitive != null
    320320                    && ((n.isNew() && ds.isSelected(n))
    321                             || (!ds.isSelected(minPrimitive) && (ds.isSelected(n) || n.isNew())))) {
     321                    || (!ds.isSelected(minPrimitive) && (ds.isSelected(n) || n.isNew())))) {
    322322                minPrimitive = n;
    323323            }
     
    335335        TreeMap<Double, List<WaySegment>> nearest = new TreeMap<Double, List<WaySegment>>();
    336336        DataSet ds = getCurrentDataSet();
    337         if(ds == null)
     337        if (ds == null)
    338338            return null;
    339         for (Way w : ds.ways) {
     339        for (Way w : ds.getWays()) {
    340340            if (!w.isUsable()) {
    341341                continue;
     
    358358                double a = p.distanceSq(B);
    359359                double b = p.distanceSq(A);
    360                 double perDist = a-(a-b+c)*(a-b+c)/4/c; // perpendicular distance squared
    361                 if (perDist < snapDistance && a < c+snapDistance && b < c+snapDistance) {
    362                     if(ds.isSelected(w)) {
     360                double perDist = a - (a - b + c) * (a - b + c) / 4 / c; // perpendicular distance squared
     361                if (perDist < snapDistance && a < c + snapDistance && b < c + snapDistance) {
     362                    if (ds.isSelected(w)) {
    363363                        perDist -= 0.00001;
    364364                    }
     
    459459        Collection<OsmPrimitive> nearest = new HashSet<OsmPrimitive>();
    460460        DataSet ds = getCurrentDataSet();
    461         if(ds == null)
     461        if (ds == null)
    462462            return null;
    463         for (Way w : ds.ways) {
     463        for (Way w : ds.getWays()) {
    464464            if (!w.isUsable()) {
    465465                continue;
     
    479479                double a = p.distanceSq(B);
    480480                double b = p.distanceSq(A);
    481                 double perDist = a-(a-b+c)*(a-b+c)/4/c; // perpendicular distance squared
    482                 if (perDist < snapDistance && a < c+snapDistance && b < c+snapDistance) {
     481                double perDist = a - (a - b + c) * (a - b + c) / 4 / c; // perpendicular distance squared
     482                if (perDist < snapDistance && a < c + snapDistance && b < c + snapDistance) {
    483483                    nearest.add(w);
    484484                    break;
     
    487487            }
    488488        }
    489         for (Node n : ds.nodes) {
     489        for (Node n : ds.getNodes()) {
    490490            if (n.isUsable()
    491491                    && getPoint(n).distanceSq(p) < snapDistance) {
     
    507507        Collection<Node> nearest = new HashSet<Node>();
    508508        DataSet ds = getCurrentDataSet();
    509         if(ds == null)
     509        if (ds == null)
    510510            return null;
    511         for (Node n : ds.nodes) {
     511        for (Node n : ds.getNodes()) {
    512512            if (n.isUsable()
    513513                    && getPoint(n).distanceSq(p) < snapDistance) {
  • trunk/src/org/openstreetmap/josm/gui/SelectionManager.java

    r2120 r2381  
    285285        } else {
    286286            // nodes
    287             for (Node n : nc.getCurrentDataSet().nodes) {
     287            for (Node n : nc.getCurrentDataSet().getNodes()) {
    288288                if (n.isUsable() && r.contains(nc.getPoint(n))) {
    289289                    selection.add(n);
     
    292292
    293293            // ways
    294             for (Way w : nc.getCurrentDataSet().ways) {
    295                 if (!w.isUsable() || w.getNodesCount() == 0){
     294            for (Way w : nc.getCurrentDataSet().getWays()) {
     295                if (!w.isUsable() || w.getNodesCount() == 0) {
    296296                    continue;
    297297                }
  • trunk/src/org/openstreetmap/josm/gui/dialogs/PropertiesDialog.java

    r2348 r2381  
    754754        Map<Relation, Collection<RelationMember>> roles = new HashMap<Relation, Collection<RelationMember>>();
    755755        if (Main.main.getCurrentDataSet() != null) {
    756             for (Relation r : Main.main.getCurrentDataSet().relations) {
     756            for (Relation r : Main.main.getCurrentDataSet().getRelations()) {
    757757                if (!r.isFiltered() && !r.incomplete && !r.isDeleted()) {
    758758                    for (RelationMember m : r.getMembers()) {
  • trunk/src/org/openstreetmap/josm/gui/dialogs/RelationListDialog.java

    r2348 r2381  
    147147    protected int getNumRelations() {
    148148        if (Main.main.getCurrentDataSet() == null) return 0;
    149         return Main.main.getCurrentDataSet().relations.size();
     149        return Main.main.getCurrentDataSet().getRelations().size();
    150150    }
    151151
     
    158158     */
    159159    protected ArrayList<Relation> getDisplayedRelationsInSortOrder(DataSet ds) {
    160         ArrayList<Relation> relations = new ArrayList<Relation>(ds.relations.size());
    161         for (Relation r: ds.relations ){
     160        ArrayList<Relation> relations = new ArrayList<Relation>(ds.getRelations().size());
     161        for (Relation r : ds.getRelations()) {
    162162            if (!r.isUsable() || !r.isVisible()) {
    163163                continue;
     
    170170                new Comparator<Relation>() {
    171171                    NameFormatter formatter = DefaultNameFormatter.getInstance();
     172
    172173                    public int compare(Relation r1, Relation r2) {
    173174                        return r1.getDisplayName(formatter).compareTo(r2.getDisplayName(formatter));
  • trunk/src/org/openstreetmap/josm/gui/dialogs/relation/ChildRelationBrowser.java

    r2273 r2381  
    258258                return;
    259259            HashSet<Relation> relations = new HashSet<Relation>();
    260             for (int i=0; i < selection.length;i++) {
    261                 relations.add((Relation)selection[i].getLastPathComponent());
     260            for (TreePath aSelection : selection) {
     261                relations.add((Relation) aSelection.getLastPathComponent());
    262262            }
    263263            Main.worker.submit(new DownloadRelationSetTask(getParentDialog(),relations));
  • trunk/src/org/openstreetmap/josm/gui/dialogs/relation/GenericRelationEditor.java

    r2378 r2381  
    138138            //this.tagEditorModel.initFromPrimitive(relation);
    139139            this.memberTableModel.populate(relation);
    140             if (!getLayer().data.relations.contains(relation)) {
     140            if (!getLayer().data.getRelations().contains(relation)) {
    141141                // treat it as a new relation if it doesn't exist in the
    142142                // data set yet.
     
    597597            );
    598598            switch(ret) {
    599                 case ConditionalOptionPaneUtil.DIALOG_DISABLED_OPTION: return;
    600                 case JOptionPane.CLOSED_OPTION: return;
    601                 case JOptionPane.NO_OPTION: return;
    602                 case JOptionPane.YES_OPTION:
    603                     memberTableModel.removeMembersReferringTo(toCheck);
    604                     break;
     599            case ConditionalOptionPaneUtil.DIALOG_DISABLED_OPTION: return;
     600            case JOptionPane.CLOSED_OPTION: return;
     601            case JOptionPane.NO_OPTION: return;
     602            case JOptionPane.YES_OPTION:
     603                memberTableModel.removeMembersReferringTo(toCheck);
     604                break;
    605605            }
    606606        }
     
    633633            );
    634634            switch(ret) {
    635                 case ConditionalOptionPaneUtil.DIALOG_DISABLED_OPTION : return true;
    636                 case JOptionPane.YES_OPTION: return true;
    637                 case JOptionPane.NO_OPTION: return false;
    638                 case JOptionPane.CLOSED_OPTION: return false;
    639                 case JOptionPane.CANCEL_OPTION: throw new AddAbortException();
     635            case ConditionalOptionPaneUtil.DIALOG_DISABLED_OPTION : return true;
     636            case JOptionPane.YES_OPTION: return true;
     637            case JOptionPane.NO_OPTION: return false;
     638            case JOptionPane.CLOSED_OPTION: return false;
     639            case JOptionPane.CANCEL_OPTION: throw new AddAbortException();
    640640            }
    641641            // should not happen
     
    12551255            );
    12561256            switch(ret) {
    1257                 case JOptionPane.YES_OPTION: return true;
    1258                 case ConditionalOptionPaneUtil.DIALOG_DISABLED_OPTION: return true;
    1259                 default:
    1260                     return false;
     1257            case JOptionPane.YES_OPTION: return true;
     1258            case ConditionalOptionPaneUtil.DIALOG_DISABLED_OPTION: return true;
     1259            default:
     1260                return false;
    12611261            }
    12621262        }
  • trunk/src/org/openstreetmap/josm/gui/dialogs/relation/ParentRelationLoadingTask.java

    r2273 r2381  
    150150        }
    151151        parents.clear();
    152         for (Relation parent : referrers.relations) {
    153             parents.add((Relation)getLayer().data.getPrimitiveById(parent.getId(),OsmPrimitiveType.RELATION));
     152        for (Relation parent : referrers.getRelations()) {
     153            parents.add((Relation) getLayer().data.getPrimitiveById(parent.getId(), OsmPrimitiveType.RELATION));
    154154        }
    155155        if (continuation != null) {
  • trunk/src/org/openstreetmap/josm/gui/dialogs/relation/ReferringRelationsBrowserModel.java

    r2273 r2381  
    7979            return;
    8080        }
    81         for (Relation parent : ds.relations) {
     81        for (Relation parent : ds.getRelations()) {
    8282            if (isReferringRelation(parent)) {
    8383                referrers.add(parent);
  • trunk/src/org/openstreetmap/josm/gui/layer/GpxLayer.java

    r2322 r2381  
    776776                            n.setTimestamp(DateUtils.fromString(timestr));
    777777                        }
    778                         ds.nodes.add(n);
     778                        ds.addPrimitive(n);
    779779                        nodes.add(n);
    780780                    }
    781781                    Way w = new Way();
    782782                    w.setNodes(nodes);
    783                     ds.ways.add(w);
     783                    ds.addPrimitive(w);
    784784                }
    785785            }
  • trunk/src/org/openstreetmap/josm/gui/layer/OsmDataLayer.java

    r2327 r2381  
    33package org.openstreetmap.josm.gui.layer;
    44
     5import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
    56import static org.openstreetmap.josm.tools.I18n.marktr;
    6 import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
    77import static org.openstreetmap.josm.tools.I18n.tr;
    88import static org.openstreetmap.josm.tools.I18n.trn;
     
    1919import java.awt.TexturePaint;
    2020import java.awt.event.ActionEvent;
    21 import java.awt.event.ActionListener;
    2221import java.awt.geom.Area;
    2322import java.awt.image.BufferedImage;
     
    3231import javax.swing.AbstractAction;
    3332import javax.swing.Icon;
    34 import javax.swing.JButton;
    35 import javax.swing.JDialog;
    3633import javax.swing.JLabel;
    3734import javax.swing.JMenuItem;
     
    6865import org.openstreetmap.josm.gui.dialogs.LayerListDialog;
    6966import org.openstreetmap.josm.gui.dialogs.LayerListPopup;
    70 import org.openstreetmap.josm.gui.help.HelpBrowser;
    71 import org.openstreetmap.josm.gui.help.HelpUtil;
    7267import org.openstreetmap.josm.tools.DateUtils;
    7368import org.openstreetmap.josm.tools.GBC;
    7469import org.openstreetmap.josm.tools.ImageProvider;
    75 import org.openstreetmap.josm.tools.WindowGeometry;
    7670
    7771/**
     
    256250    @Override public String getToolTipText() {
    257251        String tool = "";
    258         tool += undeletedSize(data.nodes)+" "+trn("node", "nodes", undeletedSize(data.nodes))+", ";
    259         tool += undeletedSize(data.ways)+" "+trn("way", "ways", undeletedSize(data.ways));
     252        tool += undeletedSize(data.getNodes())+" "+trn("node", "nodes", undeletedSize(data.getNodes()))+", ";
     253        tool += undeletedSize(data.getWays())+" "+trn("way", "ways", undeletedSize(data.getWays()));
    260254        if (data.version != null) {
    261255            tool += ", " + tr("version {0}", data.version);
     
    350344                    numRemainingConflicts,
    351345                    numRemainingConflicts
    352             );           
    353         }
    354        
     346            );
     347        }
     348
    355349        StringBuffer sb = new StringBuffer();
    356350        sb.append("<html>").append(msg1);
     
    369363                            tr("Click to close this dialog and continue editing"),
    370364                            null /* no specific help */
    371                             )
     365                    )
    372366            };
    373367            HelpAwareOptionPane.showOptionDialog(
     
    380374                    options[0],
    381375                    ht("/Concepts/Conflict#WarningAboutDetectedConflicts")
    382              );           
     376            );
    383377        }
    384378    }
     
    435429
    436430    @Override public void visitBoundingBox(final BoundingXYVisitor v) {
    437         for (final Node n : data.nodes)
     431        for (final Node n: data.getNodes()) {
    438432            if (n.isUsable()) {
    439433                v.visit(n);
    440434            }
     435        }
    441436    }
    442437
     
    558553        gpxData.storageFile = file;
    559554        HashSet<Node> doneNodes = new HashSet<Node>();
    560         for (Way w : data.ways) {
     555        for (Way w : data.getWays()) {
    561556            if (!w.isUsable()) {
    562557                continue;
     
    583578                }
    584579                WayPoint wpt = new WayPoint(n.getCoor());
    585                 if (!n.isTimestampEmpty())
    586                 {
     580                if (!n.isTimestampEmpty()) {
    587581                    wpt.attr.put("time", DateUtils.fromDate(n.getTimestamp()));
    588582                    wpt.setTime();
     
    594588        // what is this loop meant to do? it creates waypoints but never
    595589        // records them?
    596         for (Node n : data.nodes) {
     590        for (Node n : data.getNodes()) {
    597591            if (n.incomplete || n.isDeleted() || doneNodes.contains(n)) {
    598592                continue;
     
    607601                wpt.attr.put("name", name);
    608602            }
     603            ;
    609604        }
    610605        return gpxData;
  • trunk/src/org/openstreetmap/josm/gui/layer/RawGpsLayer.java

    r2179 r2381  
    7878                for (GpsPoint p : c) {
    7979                    Node n = new Node(p.latlon);
    80                     ds.nodes.add(n);
     80                    ds.addPrimitive(n);
    8181                    nodes.add(n);
    8282                }
    8383                Way w = new Way();
    8484                w.setNodes(nodes);
    85                 ds.ways.add(w);
     85                ds.addPrimitive(w);
    8686            }
    8787            Main.main.addLayer(new OsmDataLayer(ds, tr("Converted from: {0}", RawGpsLayer.this.getName()), null));
  • trunk/src/org/openstreetmap/josm/gui/tagging/ac/AutoCompletionCache.java

    r2088 r2381  
    150150            cachePrimitive(primitive);
    151151        }
    152         for (Relation relation : layer.data.relations) {
     152        for (Relation relation : layer.data.getRelations()) {
    153153            if (relation.incomplete || relation.isDeleted()) {
    154154                continue;
  • trunk/src/org/openstreetmap/josm/io/OsmServerBackreferenceReader.java

    r2361 r2381  
    221221        progressMonitor.beginTask(null, 2);
    222222        try {
    223             Collection<Way> waysToCheck = new ArrayList<Way>(ds.ways);
     223            Collection<Way> waysToCheck = new ArrayList<Way>(ds.getWays());
    224224            if (isReadFull() ||primitiveType.equals(OsmPrimitiveType.NODE)) {
    225225                for (Way way: waysToCheck) {
     
    233233            }
    234234            if (isReadFull()) {
    235                 Collection<Relation> relationsToCheck  = new ArrayList<Relation>(ds.relations);
     235                Collection<Relation> relationsToCheck  = new ArrayList<Relation>(ds.getRelations());
    236236                for (Relation relation: relationsToCheck) {
    237237                    if (!relation.isNew() && relation.incomplete) {
  • trunk/src/org/openstreetmap/josm/io/OsmWriter.java

    r2327 r2381  
    7272
    7373    public void writeContent(DataSet ds) {
    74         for (Node n : ds.nodes)
     74        for (Node n : ds.getNodes()) {
    7575            if (shouldWrite(n)) {
    7676                visit(n);
    7777            }
    78         for (Way w : ds.ways)
     78        }
     79        for (Way w : ds.getWays()) {
    7980            if (shouldWrite(w)) {
    8081                visit(w);
    8182            }
    82         for (Relation e : ds.relations)
     83        }
     84        for (Relation e : ds.getRelations()) {
    8385            if (shouldWrite(e)) {
    8486                visit(e);
    8587            }
     88        }
    8689    }
    8790
  • trunk/test/functional/org/openstreetmap/josm/io/MultiFetchServerObjectReaderTest.java

    r2199 r2381  
    3535import org.openstreetmap.josm.data.projection.Mercator;
    3636import org.openstreetmap.josm.gui.progress.NullProgressMonitor;
    37 import org.xml.sax.SAXException;
    3837
    3938public class MultiFetchServerObjectReaderTest {
     
    124123        logger.info("creating data set on the server ...");
    125124        ArrayList<OsmPrimitive> primitives = new ArrayList<OsmPrimitive>();
    126         primitives.addAll(testDataSet.nodes);
    127         primitives.addAll(testDataSet.ways);
    128         primitives.addAll(testDataSet.relations);
     125        primitives.addAll(testDataSet.getNodes());
     126        primitives.addAll(testDataSet.getWays());
     127        primitives.addAll(testDataSet.getRelations());
    129128
    130129        OsmServerWriter writer = new OsmServerWriter();
     
    247246        }
    248247        DataSet out = reader.parseOsm(NullProgressMonitor.INSTANCE);
    249         assertEquals(10, out.nodes.size());
     248        assertEquals(10, out.getNodes().size());
    250249        Iterator<Node> it = out.nodes.iterator();
    251250        while(it.hasNext()) {
     
    261260    public void testMultiGet10Ways() throws OsmTransferException {
    262261        MultiFetchServerObjectReader reader = new MultiFetchServerObjectReader();
    263         ArrayList<Way> ways= new ArrayList<Way>(ds.ways);
     262        ArrayList<Way> ways= new ArrayList<Way>(ds.getWays());
    264263        for (int i =0; i< 10; i++) {
    265264            reader.append(ways.get(i));
    266265        }
    267266        DataSet out = reader.parseOsm(NullProgressMonitor.INSTANCE);
    268         assertEquals(10, out.ways.size());
    269         Iterator<Way> it = out.ways.iterator();
    270         while(it.hasNext()) {
    271             Way w1 = it.next();
     267        assertEquals(10, out.getWays().size());
     268        for (Way w1: out.getWays()) {
    272269            Way w2 = (Way)ds.getPrimitiveById(w1.getId(), OsmPrimitiveType.WAY);
    273270            assertNotNull(w2);
     
    281278    public void testMultiGet10Relations() throws OsmTransferException {
    282279        MultiFetchServerObjectReader reader = new MultiFetchServerObjectReader();
    283         ArrayList<Relation> relations= new ArrayList<Relation>(ds.relations);
     280        ArrayList<Relation> relations= new ArrayList<Relation>(ds.getRelations());
    284281        for (int i =0; i< 10; i++) {
    285282            reader.append(relations.get(i));
    286283        }
    287284        DataSet out = reader.parseOsm(NullProgressMonitor.INSTANCE);
    288         assertEquals(10, out.relations.size());
    289         Iterator<Relation> it = out.relations.iterator();
    290         while(it.hasNext()) {
    291             Relation r1 = it.next();
     285        assertEquals(10, out.getRelations().size());
     286        for (Relation r1: out.getRelations()) {
    292287            Relation r2 = (Relation)ds.getPrimitiveById(r1.getId(), OsmPrimitiveType.RELATION);
    293288            assertNotNull(r2);
     
    301296    public void testMultiGet800Nodes() throws OsmTransferException {
    302297        MultiFetchServerObjectReader reader = new MultiFetchServerObjectReader();
    303         ArrayList<Node> nodes = new ArrayList<Node>(ds.nodes);
     298        ArrayList<Node> nodes = new ArrayList<Node>(ds.getNodes());
    304299        for (int i =0; i< 812; i++) {
    305300            reader.append(nodes.get(i));
    306301        }
    307302        DataSet out = reader.parseOsm(NullProgressMonitor.INSTANCE);
    308         assertEquals(812, out.nodes.size());
     303        assertEquals(812, out.getNodes().size());
    309304        Iterator<Node> it = out.nodes.iterator();
    310305        while(it.hasNext()) {
     
    320315    public void multiGetWithNonExistingNode() throws OsmTransferException {
    321316        MultiFetchServerObjectReader reader = new MultiFetchServerObjectReader();
    322         ArrayList<Node> nodes = new ArrayList<Node>(ds.nodes);
     317        ArrayList<Node> nodes = new ArrayList<Node>(ds.getNodes());
    323318        for (int i =0; i< 10; i++) {
    324319            reader.append(nodes.get(i));
     
    327322        reader.append(n); // doesn't exist
    328323        DataSet out = reader.parseOsm(NullProgressMonitor.INSTANCE);
    329         assertEquals(10, out.nodes.size());
    330         Iterator<Node> it = out.nodes.iterator();
    331         while(it.hasNext()) {
    332             Node n1 = it.next();
     324        assertEquals(10, out.getNodes().size());
     325        for (Node n1:out.getNodes()) {
    333326            Node n2 = (Node)ds.getPrimitiveById(n1.getId(), OsmPrimitiveType.NODE);
    334327            assertNotNull(n2);
  • trunk/test/functional/org/openstreetmap/josm/io/OsmServerBackreferenceReaderTest.java

    r2199 r2381  
    3434import org.openstreetmap.josm.data.projection.Mercator;
    3535import org.openstreetmap.josm.gui.progress.NullProgressMonitor;
    36 import org.xml.sax.SAXException;
    3736
    3837public class OsmServerBackreferenceReaderTest {
     
    4039
    4140    protected static Node lookupNode(DataSet ds, int i) {
    42         for (Node n: ds.nodes) {
     41        for (Node n : ds.getNodes()) {
    4342            if (("node-" + i).equals(n.get("name"))) return n;
    4443        }
     
    4847
    4948    protected static Way lookupWay(DataSet ds, int i) {
    50         for (Way w: ds.ways) {
     49        for (Way w : ds.getWays()) {
    5150            if (("way-" + i).equals(w.get("name"))) return w;
    5251        }
     
    5554
    5655    protected static Relation lookupRelation(DataSet ds, int i) {
    57         for (Relation r: ds.relations) {
     56        for (Relation r : ds.getRelations()) {
    5857            if (("relation-" + i).equals(r.get("name"))) return r;
    5958        }
     
    103102                }
    104103            }
    105             ds.relations.add(r);
     104            ds.addPrimitive(r);
    106105        }
    107106    }
     
    127126        logger.info("creating data set on the server ...");
    128127        ArrayList<OsmPrimitive> primitives = new ArrayList<OsmPrimitive>();
    129         primitives.addAll(ds.nodes);
    130         primitives.addAll(ds.ways);
    131         primitives.addAll(ds.relations);
     128        primitives.addAll(ds.getNodes());
     129        primitives.addAll(ds.getWays());
     130        primitives.addAll(ds.getRelations());
    132131        OsmServerWriter writer = new OsmServerWriter();
    133132        Changeset cs  = new Changeset();
     
    253252        reader.setReadFull(false);
    254253        DataSet referers = reader.parseOsm(NullProgressMonitor.INSTANCE);
    255         assertEquals(10, referers.nodes.size());
    256         assertEquals(1, referers.ways.size());
    257         assertEquals(0, referers.relations.size());
    258         for (Way way: referers.ways) {
     254        assertEquals(10, referers.getNodes().size());
     255        assertEquals(1, referers.getWays().size());
     256        assertEquals(0, referers.getRelations().size());
     257        for (Way way : referers.getWays()) {
    259258            assertEquals(w.getId(), way.getId());
    260259            assertEquals(false, way.incomplete);
     
    272271        reader.setReadFull(true);
    273272        DataSet referers = reader.parseOsm(NullProgressMonitor.INSTANCE);
    274         assertEquals(10, referers.nodes.size());
    275         assertEquals(1, referers.ways.size());
    276         assertEquals(0, referers.relations.size());
    277         for (Way way: referers.ways) {
     273        assertEquals(10, referers.getNodes().size());
     274        assertEquals(1, referers.getWays().size());
     275        assertEquals(0, referers.getRelations().size());
     276        for (Way way : referers.getWays()) {
    278277            assertEquals(w.getId(), way.getId());
    279278            assertEquals(false, way.incomplete);
     
    292291        reader.setReadFull(false);
    293292        DataSet referers = reader.parseOsm(NullProgressMonitor.INSTANCE);
    294         assertEquals(0, referers.nodes.size()); // no nodes loaded
    295         assertEquals(6, referers.ways.size());  // 6 ways referred by two relations
    296         for (Way w1: referers.ways) {
     293        assertEquals(0, referers.getNodes().size()); // no nodes loaded
     294        assertEquals(6, referers.getWays().size());  // 6 ways referred by two relations
     295        for (Way w1 : referers.getWays()) {
    297296            assertEquals(true, w1.incomplete);
    298297        }
    299         assertEquals(2, referers.relations.size());  // two relations referring to w
     298        assertEquals(2, referers.getRelations().size());  // two relations referring to w
    300299
    301300        Relation r = lookupRelation(referers, 0);
     
    316315        reader.setReadFull(true);
    317316        DataSet referers = reader.parseOsm(NullProgressMonitor.INSTANCE);
    318         assertEquals(6, referers.ways.size());  // 6 ways referred by two relations
    319         for (Way w1: referers.ways) {
     317        assertEquals(6, referers.getWays().size());  // 6 ways referred by two relations
     318        for (Way w1 : referers.getWays()) {
    320319            assertEquals(false, w1.incomplete);
    321320        }
    322         assertEquals(2, referers.relations.size());  // two relations referring to
     321        assertEquals(2, referers.getRelations().size());  // two relations referring to
    323322        Set<Long> expectedNodeIds = new HashSet<Long>();
    324         for (Way way: referers.ways) {
    325             Way orig = (Way)ds.getPrimitiveById(way.getId(), OsmPrimitiveType.WAY);
    326             for(Node n: orig.getNodes()) {
     323        for (Way way : referers.getWays()) {
     324            Way orig = (Way) ds.getPrimitiveById(way.getId(), OsmPrimitiveType.WAY);
     325            for (Node n : orig.getNodes()) {
    327326                expectedNodeIds.add(n.getId());
    328327            }
    329328        }
    330         assertEquals(expectedNodeIds.size(), referers.nodes.size());
    331         for (Node n : referers.nodes) {
     329        assertEquals(expectedNodeIds.size(), referers.getNodes().size());
     330        for (Node n : referers.getNodes()) {
    332331            assertEquals(true, expectedNodeIds.contains(n.getId()));
    333332        }
     
    342341    @Test
    343342    public void testBackrefrenceForRelation() throws OsmTransferException {
    344         Relation r = lookupRelation(ds,1);
     343        Relation r = lookupRelation(ds, 1);
    345344        assertNotNull(r);
    346345        // way with name "relation-1" is referred to by four relations:
     
    370369        referringRelationsIds.add(r.getId());
    371370
    372         for (Relation r1: referers.relations) {
    373             if (! referringRelationsIds.contains(r1.getId())) {
     371        for (Relation r1 : referers.getRelations()) {
     372            if (!referringRelationsIds.contains(r1.getId())) {
    374373                assertEquals(true, r1.incomplete);
    375374            }
     
    401400        }
    402401
    403         assertEquals(expectedWayIds.size(), referers.ways.size());
    404         for (Way w1 : referers.ways) {
     402        assertEquals(expectedWayIds.size(), referers.getWays().size());
     403        for (Way w1 : referers.getWays()) {
    405404            assertEquals(true, expectedWayIds.contains(w1.getId()));
    406405            assertEquals(true, w1.incomplete);
     
    409408        // make sure we didn't read any nodes
    410409        //
    411         assertEquals(0, referers.nodes.size());
     410        assertEquals(0, referers.getNodes().size());
    412411    }
    413412
     
    438437    @Test
    439438    public void testBackrefrenceForRelation_Full() throws OsmTransferException {
    440         Relation r = lookupRelation(ds,1);
     439        Relation r = lookupRelation(ds, 1);
    441440        assertNotNull(r);
    442441        // way with name "relation-1" is referred to by four relations:
     
    468467        // all relations are fully loaded
    469468        //
    470         for (Relation r1: referers.relations) {
     469        for (Relation r1 : referers.getRelations()) {
    471470            assertEquals(false, r1.incomplete);
    472471        }
     
    497496        }
    498497        for (long id : expectedWayIds) {
    499             Way w = (Way)referers.getPrimitiveById(id, OsmPrimitiveType.WAY);
     498            Way w = (Way) referers.getPrimitiveById(id, OsmPrimitiveType.WAY);
    500499            assertNotNull(w);
    501500            assertEquals(false, w.incomplete);
     
    503502
    504503        Set<Long> expectedNodeIds = new HashSet<Long>();
    505         for(int i=6; i< 10;i++) {
     504        for (int i = 6; i < 10; i++) {
    506505            Relation r1 = lookupRelation(ds, i);
    507506            expectedNodeIds.addAll(getNodeIdsInRelation(r1));
    508507        }
    509508
    510         assertEquals(expectedNodeIds.size(), referers.nodes.size());
    511         for(Node n : referers.nodes) {
     509        assertEquals(expectedNodeIds.size(), referers.getNodes().size());
     510        for (Node n : referers.getNodes()) {
    512511            assertEquals(true, expectedNodeIds.contains(n.getId()));
    513512        }
  • trunk/test/unit/org/openstreetmap/josm/data/osm/APIDataSetTest.java

    r2168 r2381  
    2020        r.incomplete = false;
    2121        DataSet ds = new DataSet();
    22         ds.relations.add(r);
     22        ds.addPrimitive(r);
    2323
    2424        APIDataSet apiDataSet = new APIDataSet();
     
    4848
    4949        DataSet ds = new DataSet();
    50         ds.relations.add(r1);
    51         ds.relations.add(r2);
     50        ds.addPrimitive(r1);
     51        ds.addPrimitive(r2);
    5252
    5353        APIDataSet apiDataSet = new APIDataSet();
     
    8888
    8989        DataSet ds = new DataSet();
    90         ds.relations.add(r1);
    91         ds.relations.add(r2);
    92         ds.relations.add(r3);
    93         ds.relations.add(r4);
     90        ds.addPrimitive(r1);
     91        ds.addPrimitive(r2);
     92        ds.addPrimitive(r3);
     93        ds.addPrimitive(r4);
    9494
    9595        APIDataSet apiDataSet = new APIDataSet();
     
    130130
    131131        DataSet ds = new DataSet();
    132         ds.relations.add(r1);
    133         ds.relations.add(r2);
    134         ds.relations.add(r3);
     132        ds.addPrimitive(r1);
     133        ds.addPrimitive(r2);
     134        ds.addPrimitive(r3);
    135135
    136136        APIDataSet apiDataSet = new APIDataSet();
     
    167167
    168168        DataSet ds = new DataSet();
    169         ds.relations.add(r1);
    170         ds.relations.add(r2);
    171         ds.relations.add(r3);
     169        ds.addPrimitive(r1);
     170        ds.addPrimitive(r2);
     171        ds.addPrimitive(r3);
    172172
    173173        APIDataSet apiDataSet = new APIDataSet();
  • trunk/test/unit/org/openstreetmap/josm/data/osm/visitor/MergeSourceBuildingVisitorTest.java

    r2077 r2381  
    4040        Node n4 = new Node(new LatLon(20.0,20.0));
    4141        n4.put("name","n4");
    42         source.nodes.add(n1);
    43         source.nodes.add(n2);
    44         source.nodes.add(n3);
    45         source.nodes.add(n4);
     42        source.addPrimitive(n1);
     43        source.addPrimitive(n2);
     44        source.addPrimitive(n3);
     45        source.addPrimitive(n4);
    4646        source.setSelected(n1,n2);
    4747
     
    4949        DataSet hull = builder.build();
    5050        assertNotNull(hull);
    51         assertEquals(2, hull.nodes.size());
     51        assertEquals(2, hull.getNodes().size());
    5252
    5353        OsmPrimitive p = hull.getPrimitiveById(1,OsmPrimitiveType.NODE);
     
    5858        assertNull(p);
    5959
    60         p = lookupByName(hull.nodes, "n2");
    61         assertNotNull(p);
    62 
    63         p = lookupByName(hull.nodes, "n4");
     60        p = lookupByName(hull.getNodes(), "n2");
     61        assertNotNull(p);
     62
     63        p = lookupByName(hull.getNodes(), "n4");
    6464        assertNull(p);
    6565    }
     
    7575        w1.addNode(n1);
    7676        w1.addNode(n2);
    77         source.nodes.add(n1);
    78         source.nodes.add(n2);
    79         source.ways.add(w1);
     77        source.addPrimitive(n1);
     78        source.addPrimitive(n2);
     79        source.addPrimitive(w1);
    8080        source.setSelected(w1);
    8181
     
    8383        DataSet hull = builder.build();
    8484        assertNotNull(hull);
    85         assertEquals(1, hull.ways.size());
    86         assertEquals(2, hull.nodes.size());
     85        assertEquals(1, hull.getWays().size());
     86        assertEquals(2, hull.getNodes().size());
    8787
    8888        OsmPrimitive p = hull.getPrimitiveById(1,OsmPrimitiveType.NODE);
     
    108108        w1.addNode(n1);
    109109        w1.addNode(n2);
    110         source.nodes.add(n1);
    111         source.nodes.add(n2);
    112         source.ways.add(w1);
     110        source.addPrimitive(n1);
     111        source.addPrimitive(n2);
     112        source.addPrimitive(w1);
    113113        source.setSelected(w1,n1,n2);
    114114
     
    116116        DataSet hull = builder.build();
    117117        assertNotNull(hull);
    118         assertEquals(1, hull.ways.size());
    119         assertEquals(2, hull.nodes.size());
     118        assertEquals(1, hull.getWays().size());
     119        assertEquals(2, hull.getNodes().size());
    120120
    121121        OsmPrimitive p = hull.getPrimitiveById(1,OsmPrimitiveType.NODE);
     
    137137        Way w1 = new Way(3);
    138138        w1.incomplete = true;
    139         source.ways.add(w1);
     139        source.addPrimitive(w1);
    140140        source.setSelected(w1);
    141141
     
    143143        DataSet hull = builder.build();
    144144        assertNotNull(hull);
    145         assertEquals(1, hull.ways.size());
     145        assertEquals(1, hull.getWays().size());
    146146
    147147        OsmPrimitive p = hull.getPrimitiveById(3, OsmPrimitiveType.WAY);
     
    167167        Relation r40 = new Relation(40);
    168168        r1.addMember(new RelationMember("relation-40", r40));
    169         source.nodes.add(n20);
    170         source.nodes.add(n21);
    171         source.nodes.add(n22);
    172         source.ways.add(w30);
    173         source.relations.add(r1);
    174         source.relations.add(r40);
     169        source.addPrimitive(n20);
     170        source.addPrimitive(n21);
     171        source.addPrimitive(n22);
     172        source.addPrimitive(w30);
     173        source.addPrimitive(r1);
     174        source.addPrimitive(r40);
    175175        source.setSelected(r1,n20,w30,r40);
    176176
     
    178178        DataSet hull = builder.build();
    179179        assertNotNull(hull);
    180         assertEquals(1, hull.ways.size());
    181         assertEquals(3, hull.nodes.size());
    182         assertEquals(2, hull.relations.size());
     180        assertEquals(1, hull.getWays().size());
     181        assertEquals(3, hull.getNodes().size());
     182        assertEquals(2, hull.getRelations().size());
    183183
    184184        OsmPrimitive p = hull.getPrimitiveById(1, OsmPrimitiveType.RELATION);
     
    226226        Relation r40 = new Relation(40);
    227227        r1.addMember(new RelationMember("relation-40", r40));
    228         source.nodes.add(n20);
    229         source.nodes.add(n21);
    230         source.nodes.add(n22);
    231         source.ways.add(w30);
    232         source.relations.add(r1);
    233         source.relations.add(r40);
     228        source.addPrimitive(n20);
     229        source.addPrimitive(n21);
     230        source.addPrimitive(n22);
     231        source.addPrimitive(w30);
     232        source.addPrimitive(r1);
     233        source.addPrimitive(r40);
    234234        source.setSelected(r1);
    235235
     
    237237        DataSet hull = builder.build();
    238238        assertNotNull(hull);
    239         assertEquals(1, hull.ways.size());
    240         assertEquals(1, hull.nodes.size());
    241         assertEquals(2, hull.relations.size());
     239        assertEquals(1, hull.getWays().size());
     240        assertEquals(1, hull.getNodes().size());
     241        assertEquals(2, hull.getRelations().size());
    242242
    243243        OsmPrimitive p = hull.getPrimitiveById(1, OsmPrimitiveType.RELATION);
     
    293293        r1.addMember(new RelationMember("relation-40", r40));
    294294
    295         source.nodes.add(n20);
    296         source.nodes.add(n21);
    297         source.nodes.add(n22);
    298         source.ways.add(w30);
    299         source.relations.add(r1);
    300         source.relations.add(r40);
     295        source.addPrimitive(n20);
     296        source.addPrimitive(n21);
     297        source.addPrimitive(n22);
     298        source.addPrimitive(w30);
     299        source.addPrimitive(r1);
     300        source.addPrimitive(r40);
    301301        source.setSelected(r1);
    302302
     
    304304        DataSet hull = builder.build();
    305305        assertNotNull(hull);
    306         assertEquals(1, hull.ways.size());
    307         assertEquals(3, hull.nodes.size());
    308         assertEquals(2, hull.relations.size());
    309 
    310         OsmPrimitive p = lookupByName(hull.relations, "r1");
     306        assertEquals(1, hull.getWays().size());
     307        assertEquals(3, hull.getNodes().size());
     308        assertEquals(2, hull.getRelations().size());
     309
     310        OsmPrimitive p = lookupByName(hull.getRelations(), "r1");
    311311        assertNotNull(p);
    312312        assertEquals(p.getClass(), Relation.class);
    313313
    314         Way w = (Way)lookupByName(hull.ways, "w30");
     314        Way w = (Way)lookupByName(hull.getWays(), "w30");
    315315        assertNotNull(w);
    316316        assertEquals(2, w.getNodesCount());
    317317
    318         Node n = (Node)lookupByName(hull.nodes, "n21");
     318        Node n = (Node)lookupByName(hull.getNodes(), "n21");
    319319        assertNotNull(n);
    320320        assertTrue(w.containsNode(n));
    321321
    322         n = (Node)lookupByName(hull.nodes, "n22");
     322        n = (Node)lookupByName(hull.getNodes(), "n22");
    323323        assertNotNull(n);
    324324        assertTrue(w.containsNode(n));
    325325
    326         Relation r = (Relation)lookupByName(hull.relations, "r40");
    327         assertNotNull(r);
    328 
    329         r = (Relation)lookupByName(hull.relations, "r1");
     326        Relation r = (Relation)lookupByName(hull.getRelations(), "r40");
     327        assertNotNull(r);
     328
     329        r = (Relation)lookupByName(hull.getRelations(), "r1");
    330330        assertNotNull(r);
    331331        assertEquals(3, r.getMembersCount());
    332         RelationMember m = new RelationMember("node-20", lookupByName(hull.nodes, "n20"));
     332        RelationMember m = new RelationMember("node-20", lookupByName(hull.getNodes(), "n20"));
    333333        assertTrue(r.getMembers().contains(m));
    334334        m = new RelationMember("way-30", lookupByName(hull.ways, "w30"));
     
    343343        Relation r1 = new Relation(1);
    344344        r1.addMember(new RelationMember("relation-1",r1));
    345         source.relations.add(r1);
     345        source.addPrimitive(r1);
    346346        source.setSelected(r1);
    347347
     
    349349        DataSet hull = builder.build();
    350350        assertNotNull(hull);
    351         assertEquals(1, hull.relations.size());
     351        assertEquals(1, hull.getRelations().size());
    352352
    353353        Relation r = (Relation)hull.getPrimitiveById(1, OsmPrimitiveType.RELATION);
     
    363363        r1.put("name", "r1");
    364364        r1.addMember(new RelationMember("relation-1",r1));
    365         source.relations.add(r1);
     365        source.addPrimitive(r1);
    366366        source.setSelected(r1);
    367367
     
    369369        DataSet hull = builder.build();
    370370        assertNotNull(hull);
    371         assertEquals(1, hull.relations.size());
    372 
    373         Relation r = (Relation)lookupByName(hull.relations, "r1");
     371        assertEquals(1, hull.getRelations().size());
     372
     373        Relation r = (Relation)lookupByName(hull.getRelations(), "r1");
    374374        assertNotNull(r);
    375375        assertEquals(1, r.getMembersCount());
     
    384384        r1.addMember(new RelationMember("relation-2",r2));
    385385        r2.addMember(new RelationMember("relation-1",r1));
    386         source.relations.add(r1);
    387         source.relations.add(r2);
     386        source.addPrimitive(r1);
     387        source.addPrimitive(r2);
    388388        source.setSelected(r1,r2);
    389389
     
    391391        DataSet hull = builder.build();
    392392        assertNotNull(hull);
    393         assertEquals(2, hull.relations.size());
     393        assertEquals(2, hull.getRelations().size());
    394394
    395395        r1 = (Relation)hull.getPrimitiveById(1, OsmPrimitiveType.RELATION);
  • trunk/test/unit/org/openstreetmap/josm/data/osm/visitor/MergeVisitorTest.java

    r2292 r2381  
    88
    99import java.io.File;
    10 import java.net.URLEncoder;
    1110import java.text.MessageFormat;
    1211import java.util.Arrays;
     
    358357        Node n2 = (Node)my.getPrimitiveById(1,OsmPrimitiveType.NODE);
    359358        assertEquals(0,visitor.getConflicts().size());
    360         assertEquals(2,my.nodes.size());
     359        assertEquals(2, my.getNodes().size());
    361360        assertEquals(n,n2);
    362361    }
     
    402401        visitor.merge();
    403402
    404         Node n2 = my.nodes.iterator().next();
     403        Node n2 = my.getNodes().iterator().next();
    405404        assertEquals(0,visitor.getConflicts().size());
    406405        assertEquals("value1",n2.get("key1"));
     
    440439        visitor.merge();
    441440
    442         Node n2 = my.nodes.iterator().next();
     441        Node n2 = my.getNodes().iterator().next();
    443442        assertEquals(0,visitor.getConflicts().size());
    444443        assertEquals("value1",n2.get("key1"));
Note: See TracChangeset for help on using the changeset viewer.