Changeset 1951 in josm
- Timestamp:
- 2009-08-10T20:36:40+02:00 (15 years ago)
- Location:
- trunk
- Files:
-
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/actions/CombineWayAction.java
r1937 r1951 7 7 import java.awt.event.ActionEvent; 8 8 import java.awt.event.KeyEvent; 9 import java.util.ArrayList; 9 10 import java.util.Collection; 10 11 import java.util.HashMap; … … 225 226 // modify all relations containing the now-deleted ways 226 227 for (Relation r : relationsUsingWays) { 227 Relation newRel = new Relation(r); 228 newRel.members.clear(); 228 List<RelationMember> newMembers = new ArrayList<RelationMember>(); 229 229 HashSet<String> rolesToReAdd = new HashSet<String>(); 230 230 for (RelationMember rm : r.getMembers()) { … … 234 234 rolesToReAdd.add(rm.getRole()); 235 235 } else { 236 new Rel.members.add(rm);236 newMembers.add(rm); 237 237 } 238 238 } 239 239 for (String role : rolesToReAdd) { 240 newRel.members.add(new RelationMember(role, modifyWay)); 241 } 240 newMembers.add(new RelationMember(role, modifyWay)); 241 } 242 Relation newRel = new Relation(r); 243 newRel.setMembers(newMembers); 242 244 cmds.add(new ChangeCommand(r, newRel)); 243 245 } -
trunk/src/org/openstreetmap/josm/actions/MergeNodesAction.java
r1937 r1951 12 12 import java.util.HashSet; 13 13 import java.util.LinkedList; 14 import java.util.List; 14 15 import java.util.Map; 15 16 import java.util.Set; … … 275 276 // modify all relations containing the now-deleted nodes 276 277 for (Relation r : relationsUsingNodes) { 277 Relation newRel = new Relation(r); 278 newRel.members.clear(); 278 List<RelationMember> newMembers = new ArrayList<RelationMember>(); 279 279 HashSet<String> rolesToReAdd = new HashSet<String>(); 280 280 for (RelationMember rm : r.getMembers()) { … … 284 284 rolesToReAdd.add(rm.getRole()); 285 285 } else { 286 new Rel.members.add(rm);286 newMembers.add(rm); 287 287 } 288 288 } 289 289 for (String role : rolesToReAdd) { 290 newRel.members.add(new RelationMember(role, dest)); 291 } 290 newMembers.add(new RelationMember(role, dest)); 291 } 292 Relation newRel = new Relation(r); 293 newRel.setMembers(newMembers); 292 294 cmds.add(new ChangeCommand(r, newRel)); 293 295 } -
trunk/src/org/openstreetmap/josm/actions/SplitWayAction.java
r1938 r1951 326 326 j++; 327 327 if (backwards) { 328 c. members.add(i, em);328 c.addMember(i, em); 329 329 } else { 330 c. members.add(j, em);330 c.addMember(j, em); 331 331 } 332 332 } -
trunk/src/org/openstreetmap/josm/command/RelationMemberConflictResolverCommand.java
r1750 r1951 40 40 41 41 /** 42 * 42 * 43 43 * @param my my relation 44 44 * @param their their relation … … 72 72 // nodes 73 73 // 74 my.members.clear(); 75 for (int i=0; i<mergedMembers.size();i++) { 76 RelationMember n = mergedMembers.get(i); 77 my.members.add(n); 78 } 74 my.setMembers(mergedMembers); 79 75 80 76 // remember the layer 81 layer = Main.ma in.map.mapView.getEditLayer();77 layer = Main.map.mapView.getEditLayer(); 82 78 return true; 83 79 } -
trunk/src/org/openstreetmap/josm/command/RemoveRelationMemberCommand.java
r1814 r1951 44 44 @Override public boolean executeCommand() { 45 45 super.executeCommand(); 46 int removed_at = relation.members.indexOf(member); 47 relation.members.remove(member); 48 if ((location != -1) && (removed_at != location)) { 49 relation.members.add(removed_at, member); 46 int removeIndex = relation.getMembers().indexOf(member); 47 if ((location != -1) && (removeIndex != location)) { 50 48 Main.debug("error removing relation member"); 51 49 return false; 50 } else { 51 relation.removeMember(removeIndex); 52 relation.modified = true; 53 return true; 52 54 } 53 relation.modified = true;54 return true;55 55 } 56 56 57 57 @Override public void undoCommand() { 58 58 super.undoCommand(); 59 relation. members.add(member);59 relation.addMember(member); 60 60 relation.modified = this.getOrig(relation).modified; 61 61 } -
trunk/src/org/openstreetmap/josm/data/osm/Relation.java
r1926 r1951 63 63 public RelationMember getMember(int index) { 64 64 return members.get(index); 65 } 66 67 /** 68 * 69 * @param member 70 * @since 1951 71 */ 72 public void addMember(RelationMember member) { 73 members.add(member); 74 } 75 76 /** 77 * 78 * @param index 79 * @param member 80 * @since 1951 81 */ 82 public void addMember(int index, RelationMember member) { 83 members.add(index, member); 84 } 85 86 /** 87 * Replace member at position specified by index. 88 * @param index 89 * @param member 90 * @return Member that was at the position 91 * @since 1951 92 */ 93 public RelationMember setMember(int index, RelationMember member) { 94 return members.set(index, member); 95 } 96 97 /** 98 * Removes member at specified position. 99 * @param index 100 * @return Member that was at the position 101 * @since 1951 102 */ 103 public RelationMember removeMember(int index) { 104 return members.remove(index); 65 105 } 66 106 -
trunk/src/org/openstreetmap/josm/data/osm/visitor/MergeSourceBuildingVisitor.java
r1937 r1951 90 90 clone = new Relation(r); 91 91 } 92 clone.members.clear(); 92 93 List<RelationMember> newMembers = new ArrayList<RelationMember>(); 93 94 for (RelationMember member: r.getMembers()) { 94 RelationMember cloneMember = new RelationMember(member.getRole(), mappedPrimitives.get(member.getMember())); 95 clone.members.add(cloneMember); 96 } 95 newMembers.add( 96 new RelationMember(member.getRole(), mappedPrimitives.get(member.getMember()))); 97 98 } 99 clone.setMembers(newMembers); 100 97 101 if (! mappedPrimitives.keySet().contains(r)) { 98 102 mappedPrimitives.put(r, clone); … … 104 108 return; 105 109 Relation clone = new Relation(r); 106 clone. members.clear();110 clone.setMembers(null); 107 111 mappedPrimitives.put(r, clone); 108 112 } … … 148 152 clone = new Relation(r); 149 153 } 150 clone. members.clear();154 clone.setMembers(null); 151 155 clone.incomplete = true; 152 156 if (! isAlreadyRemembered(r)) { -
trunk/src/org/openstreetmap/josm/gui/dialogs/PropertiesDialog.java
r1945 r1951 854 854 Relation rel = new Relation(cur); 855 855 Collection<OsmPrimitive> sel = Main.main.getCurrentDataSet().getSelected(); 856 int index = 0; 856 857 for (RelationMember rm : cur.getMembers()) { 857 858 for (OsmPrimitive osm : sel) { 858 859 if (rm.getMember() == osm) 859 860 { 860 rel. members.remove(rm);861 rel.removeMember(index); 861 862 break; 862 863 } 863 864 } 865 index++; 864 866 } 865 867 Main.main.undoRedo.add(new ChangeCommand(cur, rel)); -
trunk/src/org/openstreetmap/josm/gui/dialogs/relation/MemberTableModel.java
r1937 r1951 229 229 if (relation == null) 230 230 return false; 231 if (relation. members.size() != members.size())231 if (relation.getMembersCount() != members.size()) 232 232 return false; 233 for (int i = 0; i < relation. members.size(); i++) {234 if (!relation. members.get(i).equals(members.get(i)))233 for (int i = 0; i < relation.getMembersCount(); i++) { 234 if (!relation.getMember(i).equals(members.get(i))) 235 235 return false; 236 236 } -
trunk/src/org/openstreetmap/josm/gui/dialogs/relation/RelationTreeModel.java
r1938 r1951 57 57 if (members == null) return; 58 58 Relation root = new Relation(); 59 root. members.addAll(members);59 root.setMembers(members); 60 60 this.root = root; 61 61 listeners = new CopyOnWriteArrayList<TreeModelListener>(); … … 150 150 if (members == null) return; 151 151 Relation r = new Relation(); 152 r. members.addAll(members);152 r.setMembers(members); 153 153 this.root = r; 154 154 fireRootReplacedEvent(); -
trunk/src/org/openstreetmap/josm/io/OsmReader.java
r1928 r1951 412 412 if (en == null) throw new Error("Failed to create relation " + e.getKey().id); 413 413 414 List<RelationMember> relationMembers = new ArrayList<RelationMember>(); 415 414 416 for (RelationMemberData emd : e.getValue()) { 415 417 OsmPrimitive member; … … 438 440 throw new SAXException(tr("Unknown relation member type {0}", emd.type)); 439 441 } 440 en.members.add(new RelationMember(emd.role, member)); 441 } 442 relationMembers.add(new RelationMember(emd.role, member)); 443 } 444 en.setMembers(relationMembers); 442 445 } 443 446 hm = null; -
trunk/test/functional/org/openstreetmap/josm/gui/conflict/relation/RelationMemberMergerTest.java
r1707 r1951 10 10 import org.openstreetmap.josm.data.osm.RelationMember; 11 11 import org.openstreetmap.josm.data.osm.Way; 12 import org.openstreetmap.josm.gui.conflict.nodes.NodeListMerger;13 import org.openstreetmap.josm.gui.conflict.nodes.NodeListMergerTest;14 12 15 13 public class RelationMemberMergerTest extends JFrame { 16 14 17 15 private RelationMemberMerger merger; 18 16 19 17 protected void populate() { 20 18 Relation r1 = new Relation(); 21 r1. members.add(new RelationMember("role1", new Node(1)));22 r1. members.add(new RelationMember("role2", new Way(2)));23 r1. members.add(new RelationMember("role3", new Relation(3)));19 r1.addMember(new RelationMember("role1", new Node(1))); 20 r1.addMember(new RelationMember("role2", new Way(2))); 21 r1.addMember(new RelationMember("role3", new Relation(3))); 24 22 25 23 26 24 Relation r2 = new Relation(); 27 r2. members.add(new RelationMember("role1", new Node(1)));28 r2. members.add(new RelationMember("role2", new Way(2)));29 r2. members.add(new RelationMember("role3", new Relation(3)));30 25 r2.addMember(new RelationMember("role1", new Node(1))); 26 r2.addMember(new RelationMember("role2", new Way(2))); 27 r2.addMember(new RelationMember("role3", new Relation(3))); 28 31 29 merger.populate(r1, r2); 32 30 33 31 } 34 32 35 33 protected void build() { 36 34 merger = new RelationMemberMerger(); … … 38 36 getContentPane().add(merger, BorderLayout.CENTER); 39 37 } 40 38 41 39 public RelationMemberMergerTest() { 42 40 build(); 43 41 populate(); 44 42 } 45 43 46 44 static public void main(String args[]) { 47 45 RelationMemberMergerTest test = new RelationMemberMergerTest(); -
trunk/test/functional/org/openstreetmap/josm/io/MultiFetchServerObjectReaderTest.java
r1928 r1951 95 95 int idx = (start + j) % 500; 96 96 Node n = nodes.get(idx); 97 r. members.add(new RelationMember("role-" + j, n));97 r.addMember(new RelationMember("role-" + j, n)); 98 98 } 99 99 int numWaysInRelation = (int)Math.round(Math.random() * 10); … … 102 102 int idx = (start + j) % 500; 103 103 Way w = ways.get(idx); 104 r. members.add(new RelationMember("role-" + j, w));104 r.addMember(new RelationMember("role-" + j, w)); 105 105 } 106 106 ds.addPrimitive(r); … … 288 288 Relation r2 = (Relation)ds.getPrimitiveById(r1.id); 289 289 assertNotNull(r2); 290 assertEquals(r2. members.size(), r1.members.size());290 assertEquals(r2.getMembersCount(), r1.getMembersCount()); 291 291 assertEquals(r2.get("name"),r2.get("name")); 292 292 } -
trunk/test/functional/org/openstreetmap/josm/io/OsmServerBackreferenceReaderTest.java
r1938 r1951 88 88 for (int j =0; j < 10; j++) { 89 89 RelationMember member = new RelationMember("node-" + j, lookupNode(ds, i + j)); 90 r. members.add(member);90 r.addMember(member); 91 91 } 92 92 for (int j =0; j < 5; j++) { 93 93 RelationMember member = new RelationMember("way-" + j, lookupWay(ds, i + j)); 94 r. members.add(member);94 r.addMember(member); 95 95 } 96 96 if (i > 5) { … … 98 98 RelationMember member = new RelationMember("relation-" + j, lookupRelation(ds, j)); 99 99 logger.info(MessageFormat.format("adding relation {0} to relation {1}", j, i)); 100 r. members.add(member);100 r.addMember(member); 101 101 } 102 102 } -
trunk/test/unit/org/openstreetmap/josm/data/osm/visitor/MergeSourceBuildingVisitorTest.java
r1926 r1951 153 153 Relation r1 = new Relation(1); 154 154 Node n20 = new Node(20); 155 r1. members.add(new RelationMember("node-20",n20));155 r1.addMember(new RelationMember("node-20",n20)); 156 156 Way w30 = new Way(30); 157 157 Node n21; … … 159 159 Node n22; 160 160 w30.addNode(n22 = new Node(22)); 161 r1. members.add(new RelationMember("way-30",w30));161 r1.addMember(new RelationMember("way-30",w30)); 162 162 Relation r40 = new Relation(40); 163 r1. members.add(new RelationMember("relation-40", r40));163 r1.addMember(new RelationMember("relation-40", r40)); 164 164 source.nodes.add(n20); 165 165 source.nodes.add(n21); … … 199 199 assertEquals(3, r.getMembersCount()); 200 200 RelationMember m = new RelationMember("node-20", hull.getPrimitiveById(20)); 201 assertTrue(r. members.contains(m));201 assertTrue(r.getMembers().contains(m)); 202 202 m = new RelationMember("way-30", hull.getPrimitiveById(30)); 203 assertTrue(r. members.contains(m));203 assertTrue(r.getMembers().contains(m)); 204 204 m = new RelationMember("relation-40", hull.getPrimitiveById(40)); 205 assertTrue(r. members.contains(m));205 assertTrue(r.getMembers().contains(m)); 206 206 } 207 207 … … 211 211 Relation r1 = new Relation(1); 212 212 Node n20 = new Node(20); 213 r1. members.add(new RelationMember("node-20",n20));213 r1.addMember(new RelationMember("node-20",n20)); 214 214 Way w30 = new Way(30); 215 215 Node n21; … … 217 217 Node n22; 218 218 w30.addNode(n22 = new Node(22)); 219 r1. members.add(new RelationMember("way-30",w30));219 r1.addMember(new RelationMember("way-30",w30)); 220 220 Relation r40 = new Relation(40); 221 r1. members.add(new RelationMember("relation-40", r40));221 r1.addMember(new RelationMember("relation-40", r40)); 222 222 source.nodes.add(n20); 223 223 source.nodes.add(n21); … … 258 258 assertEquals(3, r.getMembersCount()); 259 259 RelationMember m = new RelationMember("node-20", hull.getPrimitiveById(20)); 260 assertTrue(r. members.contains(m));260 assertTrue(r.getMembers().contains(m)); 261 261 m = new RelationMember("way-30", hull.getPrimitiveById(30)); 262 assertTrue(r. members.contains(m));262 assertTrue(r.getMembers().contains(m)); 263 263 m = new RelationMember("relation-40", hull.getPrimitiveById(40)); 264 assertTrue(r. members.contains(m));264 assertTrue(r.getMembers().contains(m)); 265 265 } 266 266 … … 272 272 Node n20 = new Node(new LatLon(20.0,20.0)); 273 273 n20.put("name", "n20"); 274 r1. members.add(new RelationMember("node-20",n20));274 r1.getMembers().add(new RelationMember("node-20",n20)); 275 275 Way w30 = new Way(); 276 276 w30.put("name", "w30"); … … 281 281 w30.addNode(n22 = new Node(new LatLon(22.0,22.0))); 282 282 n22.put("name","n22"); 283 r1. members.add(new RelationMember("way-30",w30));283 r1.addMember(new RelationMember("way-30",w30)); 284 284 Relation r40 = new Relation(); 285 285 r40.put("name", "r40"); 286 r1. members.add(new RelationMember("relation-40", r40));286 r1.addMember(new RelationMember("relation-40", r40)); 287 287 source.nodes.add(n20); 288 288 source.nodes.add(n21); … … 323 323 assertEquals(3, r.getMembersCount()); 324 324 RelationMember m = new RelationMember("node-20", lookupByName(hull.nodes, "n20")); 325 assertTrue(r. members.contains(m));325 assertTrue(r.getMembers().contains(m)); 326 326 m = new RelationMember("way-30", lookupByName(hull.ways, "w30")); 327 assertTrue(r. members.contains(m));327 assertTrue(r.getMembers().contains(m)); 328 328 m = new RelationMember("relation-40", lookupByName(hull.relations, "r40")); 329 assertTrue(r. members.contains(m));329 assertTrue(r.getMembers().contains(m)); 330 330 } 331 331 … … 334 334 DataSet source = new DataSet(); 335 335 Relation r1 = new Relation(1); 336 r1. members.add(new RelationMember("relation-1",r1));336 r1.addMember(new RelationMember("relation-1",r1)); 337 337 source.relations.add(r1); 338 338 source.setSelected(r1); … … 346 346 assertNotNull(r); 347 347 assertEquals(1, r.getMembersCount()); 348 assertTrue(r. members.contains(new RelationMember("relation-1",r)));348 assertTrue(r.getMembers().contains(new RelationMember("relation-1",r))); 349 349 } 350 350 … … 354 354 Relation r1 = new Relation(); 355 355 r1.put("name", "r1"); 356 r1. members.add(new RelationMember("relation-1",r1));356 r1.addMember(new RelationMember("relation-1",r1)); 357 357 source.relations.add(r1); 358 358 source.setSelected(r1); … … 366 366 assertNotNull(r); 367 367 assertEquals(1, r.getMembersCount()); 368 assertTrue(r. members.contains(new RelationMember("relation-1",r)));368 assertTrue(r.getMembers().contains(new RelationMember("relation-1",r))); 369 369 } 370 370 … … 374 374 Relation r1 = new Relation(1); 375 375 Relation r2 = new Relation(2); 376 r1. members.add(new RelationMember("relation-2",r2));377 r2. members.add(new RelationMember("relation-1",r1));376 r1.addMember(new RelationMember("relation-2",r2)); 377 r2.addMember(new RelationMember("relation-1",r1)); 378 378 source.relations.add(r1); 379 379 source.relations.add(r2); … … 390 390 assertNotNull(r2); 391 391 assertEquals(1, r1.getMembersCount()); 392 assertTrue(r1. members.contains(new RelationMember("relation-2",r2)));392 assertTrue(r1.getMembers().contains(new RelationMember("relation-2",r2))); 393 393 assertEquals(1, r2.getMembersCount()); 394 assertTrue(r2. members.contains(new RelationMember("relation-1",r1)));394 assertTrue(r2.getMembers().contains(new RelationMember("relation-1",r1))); 395 395 } 396 396 } -
trunk/test/unit/org/openstreetmap/josm/data/osm/visitor/MergeVisitorTest.java
r1948 r1951 965 965 theirRelation.id = 4; 966 966 theirRelation.version = 1; 967 theirRelation. members.add(new RelationMember("", n3));968 theirRelation. members.add(new RelationMember("", n4));969 theirRelation. members.add(new RelationMember("", n5));967 theirRelation.addMember(new RelationMember("", n3)); 968 theirRelation.addMember(new RelationMember("", n4)); 969 theirRelation.addMember(new RelationMember("", n5)); 970 970 their.addPrimitive(theirRelation); 971 971
Note:
See TracChangeset
for help on using the changeset viewer.