- Timestamp:
- 2009-12-12T17:10:01+01:00 (15 years ago)
- Location:
- trunk
- Files:
-
- 14 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/data/Preferences.java
r2618 r2620 19 19 import java.util.Collections; 20 20 import java.util.LinkedList; 21 import java.util.List; 21 22 import java.util.Map; 22 23 import java.util.Properties; … … 62 63 63 64 private static class DefaultPreferenceChangeEvent implements PreferenceChangeEvent { 64 private String key; 65 private String oldValue; 66 private String newValue; 65 private final String key; 66 private final String oldValue; 67 private final String newValue; 67 68 68 69 public DefaultPreferenceChangeEvent(String key, String oldValue, String newValue) { … … 75 76 return key; 76 77 } 77 public void setKey(String key) {78 this.key = key;79 }80 78 public String getOldValue() { 81 79 return oldValue; 82 80 } 83 public void setOldValue(String oldValue) {84 this.oldValue = oldValue;85 }86 81 public String getNewValue() { 87 82 return newValue; 88 }89 public void setNewValue(String newValue) {90 this.newValue = newValue;91 83 } 92 84 } … … 713 705 } 714 706 synchronized public void removeFromCollection(String key, String value) { 715 ArrayList<String> a = new ArrayList<String>(getCollection(key, null)); 716 if(a != null) 717 { 718 a.remove(value); 719 putCollection(key, a); 720 } 707 List<String> a = new ArrayList<String>(getCollection(key, null)); 708 a.remove(value); 709 putCollection(key, a); 721 710 } 722 711 synchronized public boolean putCollection(String key, Collection<String> val) { -
trunk/src/org/openstreetmap/josm/data/osm/Filters.java
r2180 r2620 4 4 import static org.openstreetmap.josm.tools.I18n.trc; 5 5 6 import javax.swing.table.AbstractTableModel; 7 6 import java.util.Collection; 8 7 import java.util.LinkedList; 9 8 import java.util.List; 10 import java.util.Collection;11 9 import java.util.Map; 12 10 13 import org.openstreetmap.josm.data.osm.Filter; 11 import javax.swing.table.AbstractTableModel; 12 14 13 import org.openstreetmap.josm.Main; 14 import org.openstreetmap.josm.actions.search.SearchAction; 15 15 import org.openstreetmap.josm.actions.search.SearchAction.Function; 16 import org.openstreetmap.josm.actions.search.SearchAction;17 16 18 17 /** … … 22 21 public class Filters extends AbstractTableModel{ 23 22 24 public int disabledCount, hiddenCount; 25 26 public Filters(){ 27 loadPrefs(); 28 } 29 30 private List<Filter> filters = new LinkedList<Filter>(); 31 public void filter(){ 32 Collection<OsmPrimitive> seld = new LinkedList<OsmPrimitive> (); 33 Collection<OsmPrimitive> self = new LinkedList<OsmPrimitive> (); 34 if(Main.main.getCurrentDataSet() == null)return; 35 Main.main.getCurrentDataSet().setFiltered(); 36 Main.main.getCurrentDataSet().setDisabled(); 37 for (Filter flt : filters){ 23 public int disabledCount, hiddenCount; 24 25 public Filters(){ 26 loadPrefs(); 27 } 28 29 private List<Filter> filters = new LinkedList<Filter>(); 30 public void filter(){ 31 Collection<OsmPrimitive> seld = new LinkedList<OsmPrimitive> (); 32 Collection<OsmPrimitive> self = new LinkedList<OsmPrimitive> (); 33 if(Main.main.getCurrentDataSet() == null)return; 34 Main.main.getCurrentDataSet().setFiltered(); 35 Main.main.getCurrentDataSet().setDisabled(); 36 for (Filter flt : filters){ 38 37 if(flt.enable){ 39 SearchAction.getSelection(flt, seld, new Function(){ 40 public Boolean isSomething(OsmPrimitive o){ 41 return o.isDisabled(); 42 } 43 }); 44 if(flt.hide) { 45 SearchAction.getSelection(flt, self, new Function(){ 46 public Boolean isSomething(OsmPrimitive o){ 47 return o.isFiltered(); 48 } 49 }); 50 } 38 SearchAction.getSelection(flt, seld, new Function(){ 39 public Boolean isSomething(OsmPrimitive o){ 40 return o.isDisabled(); 41 } 42 }); 43 if(flt.hide) { 44 SearchAction.getSelection(flt, self, new Function(){ 45 public Boolean isSomething(OsmPrimitive o){ 46 return o.isFiltered(); 47 } 48 }); 49 } 51 50 } 52 } 53 disabledCount = seld.size() - self.size(); 54 hiddenCount = self.size(); 55 Main.main.getCurrentDataSet().setFiltered(self); 56 Main.main.getCurrentDataSet().setDisabled(seld); 57 Main.map.mapView.repaint(); 58 } 59 60 private void loadPrefs(){ 61 Map<String,String> prefs = Main.pref.getAllPrefix("filters.filter"); 62 for (String value : prefs.values()) { 63 Filter filter = new Filter(value); 64 if(filter!=null) 65 filters.add(filter); 66 } 67 } 68 69 private void savePrefs(){ 70 Map<String,String> prefs = Main.pref.getAllPrefix("filters.filter"); 71 for (String key : prefs.keySet()) { 72 String[] sts = key.split("\\."); 73 if (sts.length != 3)throw new Error("Incompatible filter preferences"); 74 Main.pref.put("filters.filter." + sts[2], null); 75 } 76 77 int i = 0; 78 for (Filter flt : filters){ 79 Main.pref.put("filters.filter." + i++, flt.getPrefString()); 80 } 81 } 82 83 private void savePref(int i){ 84 if(i >= filters.size()) 85 Main.pref.put("filters.filter." + i, null); 86 else 87 Main.pref.put("filters.filter." + i, filters.get(i).getPrefString()); 88 } 89 90 public void addFilter(Filter f){ 91 filters.add(f); 92 savePref(filters.size()-1); 93 filter(); 94 fireTableRowsInserted(filters.size()-1, filters.size()-1); 95 } 96 97 public void moveDownFilter(int i){ 98 if(i >= filters.size()-1) return; 99 filters.add(i+1, filters.remove(i)); 100 savePref(i); 101 savePref(i+1); 102 filter(); 103 fireTableRowsUpdated(i, i+1); 104 } 105 106 public void moveUpFilter(int i){ 107 if(i == 0) return; 108 filters.add(i-1, filters.remove(i)); 109 savePref(i); 110 savePref(i-1); 111 filter(); 112 fireTableRowsUpdated(i-1, i); 113 } 114 115 public void removeFilter(int i){ 116 filters.remove(i); 117 savePrefs(); 118 filter(); 119 fireTableRowsDeleted(i, i); 120 } 121 122 public void setFilter(int i, Filter f){ 123 filters.set(i, f); 124 savePref(i); 125 filter(); 126 fireTableRowsUpdated(i, i); 127 } 128 129 public Filter getFilter(int i){ 130 return filters.get(i); 131 } 132 133 public int getRowCount(){ 134 return filters.size(); 135 } 136 137 public int getColumnCount(){ 138 return 6; 139 } 140 141 public String getColumnName(int column){ 142 String[] names = { /* translators notes must be in front */ 143 /* column header: enable filter */ trc("filter","E"), 144 /* column header: hide filter */ tr("H"), 145 /* column header: filter text */ tr("Text"), 146 /* column header: apply filter for children */ tr("C"), 147 /* column header: inverted filter */ tr("I"), 148 /* column header: filter mode */ tr("M") 149 }; 150 return names[column]; 151 } 152 153 public Class getColumnClass(int column){ 154 Class[] classes = { Boolean.class, Boolean.class, String.class, Boolean.class, Boolean.class, String.class }; 155 return classes[column]; 156 } 157 158 public boolean isCellEnabled(int row, int column){ 159 if(!filters.get(row).enable && column!=0) return false; 160 return true; 161 } 162 163 public boolean isCellEditable(int row, int column){ 164 if(!filters.get(row).enable && column!=0) return false; 165 if(column < 5)return true; 166 return false; 167 } 168 169 public void setValueAt(Object aValue, int row, int column){ 170 Filter f = filters.get(row); 171 switch(column){ 172 case 0: f.enable = (Boolean)aValue; 173 savePref(row); 174 filter(); 175 fireTableRowsUpdated(row, row); 176 break; 177 case 1: f.hide = (Boolean)aValue; 178 savePref(row); 179 filter(); 180 break; 181 case 2: f.text = (String)aValue; 182 savePref(row); 183 break; 184 case 3: f.applyForChildren = (Boolean)aValue; 185 savePref(row); 186 filter(); 187 break; 188 case 4: f.inverted = (Boolean)aValue; 189 savePref(row); 190 filter(); 191 break; 192 } 193 if(column!=0)fireTableCellUpdated(row, column); 194 } 195 196 public Object getValueAt(int row, int column){ 197 Filter f = filters.get(row); 198 switch(column){ 199 case 0: return f.enable; 200 case 1: return f.hide; 201 case 2: return f.text; 202 case 3: return f.applyForChildren; 203 case 4: return f.inverted; 204 case 5: 205 switch(f.mode){ /* translators notes must be in front */ 206 case replace: /* filter mode: replace */ return tr("R"); 207 case add: /* filter mode: add */ return tr("A"); 208 case remove: /* filter mode: remove */ return tr("D"); 209 case in_selection: /* filter mode: in selection */ return tr("F"); 210 } 211 } 212 return null; 213 } 51 } 52 disabledCount = seld.size() - self.size(); 53 hiddenCount = self.size(); 54 Main.main.getCurrentDataSet().setFiltered(self); 55 Main.main.getCurrentDataSet().setDisabled(seld); 56 Main.map.mapView.repaint(); 57 } 58 59 private void loadPrefs(){ 60 Map<String,String> prefs = Main.pref.getAllPrefix("filters.filter"); 61 for (String value : prefs.values()) { 62 filters.add(new Filter(value)); 63 } 64 } 65 66 private void savePrefs(){ 67 Map<String,String> prefs = Main.pref.getAllPrefix("filters.filter"); 68 for (String key : prefs.keySet()) { 69 String[] sts = key.split("\\."); 70 if (sts.length != 3)throw new Error("Incompatible filter preferences"); 71 Main.pref.put("filters.filter." + sts[2], null); 72 } 73 74 int i = 0; 75 for (Filter flt : filters){ 76 Main.pref.put("filters.filter." + i++, flt.getPrefString()); 77 } 78 } 79 80 private void savePref(int i){ 81 if(i >= filters.size()) { 82 Main.pref.put("filters.filter." + i, null); 83 } else { 84 Main.pref.put("filters.filter." + i, filters.get(i).getPrefString()); 85 } 86 } 87 88 public void addFilter(Filter f){ 89 filters.add(f); 90 savePref(filters.size()-1); 91 filter(); 92 fireTableRowsInserted(filters.size()-1, filters.size()-1); 93 } 94 95 public void moveDownFilter(int i){ 96 if(i >= filters.size()-1) return; 97 filters.add(i+1, filters.remove(i)); 98 savePref(i); 99 savePref(i+1); 100 filter(); 101 fireTableRowsUpdated(i, i+1); 102 } 103 104 public void moveUpFilter(int i){ 105 if(i == 0) return; 106 filters.add(i-1, filters.remove(i)); 107 savePref(i); 108 savePref(i-1); 109 filter(); 110 fireTableRowsUpdated(i-1, i); 111 } 112 113 public void removeFilter(int i){ 114 filters.remove(i); 115 savePrefs(); 116 filter(); 117 fireTableRowsDeleted(i, i); 118 } 119 120 public void setFilter(int i, Filter f){ 121 filters.set(i, f); 122 savePref(i); 123 filter(); 124 fireTableRowsUpdated(i, i); 125 } 126 127 public Filter getFilter(int i){ 128 return filters.get(i); 129 } 130 131 public int getRowCount(){ 132 return filters.size(); 133 } 134 135 public int getColumnCount(){ 136 return 6; 137 } 138 139 @Override 140 public String getColumnName(int column){ 141 String[] names = { /* translators notes must be in front */ 142 /* column header: enable filter */ trc("filter","E"), 143 /* column header: hide filter */ tr("H"), 144 /* column header: filter text */ tr("Text"), 145 /* column header: apply filter for children */ tr("C"), 146 /* column header: inverted filter */ tr("I"), 147 /* column header: filter mode */ tr("M") 148 }; 149 return names[column]; 150 } 151 152 @Override 153 public Class<?> getColumnClass(int column){ 154 Class<?>[] classes = { Boolean.class, Boolean.class, String.class, Boolean.class, Boolean.class, String.class }; 155 return classes[column]; 156 } 157 158 public boolean isCellEnabled(int row, int column){ 159 if(!filters.get(row).enable && column!=0) return false; 160 return true; 161 } 162 163 @Override 164 public boolean isCellEditable(int row, int column){ 165 if(!filters.get(row).enable && column!=0) return false; 166 if(column < 5)return true; 167 return false; 168 } 169 170 @Override 171 public void setValueAt(Object aValue, int row, int column){ 172 Filter f = filters.get(row); 173 switch(column){ 174 case 0: f.enable = (Boolean)aValue; 175 savePref(row); 176 filter(); 177 fireTableRowsUpdated(row, row); 178 break; 179 case 1: f.hide = (Boolean)aValue; 180 savePref(row); 181 filter(); 182 break; 183 case 2: f.text = (String)aValue; 184 savePref(row); 185 break; 186 case 3: f.applyForChildren = (Boolean)aValue; 187 savePref(row); 188 filter(); 189 break; 190 case 4: f.inverted = (Boolean)aValue; 191 savePref(row); 192 filter(); 193 break; 194 } 195 if(column!=0) { 196 fireTableCellUpdated(row, column); 197 } 198 } 199 200 public Object getValueAt(int row, int column){ 201 Filter f = filters.get(row); 202 switch(column){ 203 case 0: return f.enable; 204 case 1: return f.hide; 205 case 2: return f.text; 206 case 3: return f.applyForChildren; 207 case 4: return f.inverted; 208 case 5: 209 switch(f.mode){ /* translators notes must be in front */ 210 case replace: /* filter mode: replace */ return tr("R"); 211 case add: /* filter mode: add */ return tr("A"); 212 case remove: /* filter mode: remove */ return tr("D"); 213 case in_selection: /* filter mode: in selection */ return tr("F"); 214 } 215 } 216 return null; 217 } 214 218 } -
trunk/src/org/openstreetmap/josm/data/osm/Node.java
r2612 r2620 68 68 public Node(long id) { 69 69 super(id, false); 70 } 71 72 /** 73 * Create new complete node 74 * @param id 75 * @param version 76 */ 77 public Node(long id, int version) { 78 super(id, false); 79 setOsmId(id, version); 70 80 } 71 81 -
trunk/src/org/openstreetmap/josm/data/osm/OsmPrimitive.java
r2615 r2620 245 245 246 246 /** 247 * Creates a new primitive for the given id. If the id > 0, the primitive is marked 248 * as incomplete. 249 * 250 * @param id the id. > 0 required 251 * @param allowNegativeId Allows to set negative id. For internal use 247 * Creates a new primitive for the given id. 248 * 249 * If allowNegativeId is set, provided id can be < 0 and will be set to primitive without any processing. 250 * If allowNegativeId is not set, then id will have to be 0 (in that case new unique id will be generated) or 251 * positive number. 252 * 253 * @param id the id 254 * @param allowNegativeId 252 255 * @throws IllegalArgumentException thrown if id < 0 and allowNegativeId is false 253 256 */ … … 1206 1209 } 1207 1210 1208 //TODO This method should not be necessary, incomplete state should be handled internally by OsmPrimitive 1209 public void setIncomplete(boolean incomplete) { 1211 private void setIncomplete(boolean incomplete) { 1210 1212 this.incomplete = incomplete; 1211 1213 } -
trunk/src/org/openstreetmap/josm/data/osm/Relation.java
r2579 r2620 169 169 public Relation(long id) throws IllegalArgumentException { 170 170 super(id, false); 171 } 172 173 /** 174 * Creates new complete relation 175 * @param id 176 * @param version 177 */ 178 public Relation(long id, int version) { 179 super(id, false); 180 setOsmId(id, version); 171 181 } 172 182 -
trunk/src/org/openstreetmap/josm/data/osm/Way.java
r2609 r2620 173 173 /** 174 174 * Creates a new way for the given id. If the id > 0, the way is marked 175 * as incomplete. 176 * 177 * @param id the id. > 0 required 175 * as incomplete. If id == 0 then way is marked as new 176 * 177 * @param id the id. >= 0 required 178 178 * @throws IllegalArgumentException thrown if id < 0 179 179 */ 180 180 public Way(long id) throws IllegalArgumentException { 181 181 super(id, false); 182 } 183 184 /** 185 * Creates new way with given id and version. Way is marked as complete 186 * @param id 187 * @param version 188 */ 189 public Way(long id, int version) { 190 super(id, false); 191 setOsmId(id, version); 182 192 } 183 193 -
trunk/src/org/openstreetmap/josm/data/osm/visitor/MergeSourceBuildingVisitor.java
r2578 r2620 48 48 } 49 49 50 protected boolean isInSelectionBase(OsmPrimitive primitive) { 51 return selectionBase.getSelected().contains(primitive); 52 } 53 54 protected boolean isAlreadyRemembered(OsmPrimitive primitive) { 55 return mappedPrimitives.keySet().contains(primitive); 56 } 57 50 58 /** 51 59 * Remebers a node in the "hull" … … 69 77 return; 70 78 Way clone = new Way(w); 71 List<Node> newNodes = new ArrayList<Node>(); 79 List<Node> newNodes = new ArrayList<Node>(w.getNodesCount()); 72 80 for (Node n: w.getNodes()) { 73 81 newNodes.add((Node)mappedPrimitives.get(n)); … … 84 92 protected void rememberRelation(Relation r) { 85 93 Relation clone; 86 if ( mappedPrimitives.keySet().contains(r)) {94 if (isAlreadyRemembered(r)) { 87 95 clone = (Relation)mappedPrimitives.get(r); 88 96 clone.cloneFrom(r); … … 99 107 clone.setMembers(newMembers); 100 108 101 if (! mappedPrimitives.keySet().contains(r)) {109 if (!isAlreadyRemembered(r)) { 102 110 mappedPrimitives.put(r, clone); 103 111 } … … 127 135 128 136 protected void rememberNodeIncomplete(Node n) { 129 if (isAlreadyRemembered(n)) 130 return; 131 Node clone = new Node(n); 132 clone.setIncomplete(true); 133 mappedPrimitives.put(n, clone); 137 if (!isAlreadyRemembered(n)) { 138 mappedPrimitives.put(n, new Node(n.getId())); 139 } 134 140 } 135 141 136 142 protected void rememberWayIncomplete(Way w) { 137 if (isAlreadyRemembered(w)) 138 return; 139 Way clone = new Way(w); 140 clone.setNodes(null); 141 clone.setIncomplete(true); 142 mappedPrimitives.put(w, clone); 143 if (!isAlreadyRemembered(w)) { 144 mappedPrimitives.put(w, new Way(w.getId())); 145 } 143 146 } 144 147 145 148 protected void rememberRelationIncomplete(Relation r) { 146 Relation clone; 147 if (isAlreadyRemembered(r)) { 148 clone = (Relation)mappedPrimitives.get(r); 149 clone.cloneFrom(r); 150 } else { 151 clone = new Relation(r); 152 } 153 clone.setMembers(null); 154 clone.setIncomplete(true); 155 if (! isAlreadyRemembered(r)) { 156 mappedPrimitives.put(r, clone); 149 if (!isAlreadyRemembered(r)) { 150 mappedPrimitives.put(r, new Relation(r.getId())); 157 151 } 158 152 } … … 166 160 // 167 161 for (Node n: w.getNodes()) { 168 if (! isAlreadyRemembered(n)) { 169 n.visit(this); 170 } 162 n.visit(this); 171 163 } 172 164 // ... and the way itself 173 165 rememberWay(w); 174 }175 176 protected boolean isInSelectionBase(OsmPrimitive primitive) {177 return selectionBase.getSelected().contains(primitive);178 }179 180 protected boolean isAlreadyRemembered(OsmPrimitive primitive) {181 return mappedPrimitives.keySet().contains(primitive);182 166 } 183 167 -
trunk/src/org/openstreetmap/josm/data/projection/NTV2GridShiftFile.java
r2507 r2620 20 20 package org.openstreetmap.josm.data.projection; 21 21 22 import java.io.IOException; 22 23 import java.io.InputStream; 23 import java.io.IOException;24 import java.io.RandomAccessFile;25 24 import java.io.Serializable; 26 25 import java.util.ArrayList; … … 62 61 public class NTV2GridShiftFile implements Serializable { 63 62 64 private static final int REC_SIZE = 16;65 63 private String overviewHeaderCountId; 66 64 private int overviewHeaderCount; … … 270 268 } 271 269 272 public void unload() throws IOException{270 public void unload() { 273 271 topLevelSubGrid = null; 274 272 } -
trunk/src/org/openstreetmap/josm/io/GpxWriter.java
r2327 r2620 50 50 out.println("<gpx version=\"1.1\" creator=\"JOSM GPX export\" xmlns=\"http://www.topografix.com/GPX/1/1\"\n" + 51 51 " xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" \n" + 52 52 " xsi:schemaLocation=\"http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd\">"); 53 53 indent = " "; 54 54 writeMetaData(); … … 60 60 } 61 61 62 @SuppressWarnings("unchecked") 62 63 private void writeAttr(Map<String, Object> attr) { 63 64 // FIXME this loop is evil, because it does not assure the … … 67 68 String k = ent.getKey(); 68 69 if (k.equals(GpxData.META_LINKS)) { 69 for ( Objectlink : (Collection) ent.getValue()) {70 gpxLink( (GpxLink)link);70 for (GpxLink link : (Collection<GpxLink>) ent.getValue()) { 71 gpxLink(link); 71 72 } 72 73 } else { … … 76 77 } 77 78 79 @SuppressWarnings("unchecked") 78 80 private void writeMetaData() { 79 81 Map<String, Object> attr = data.attr; … … 81 83 82 84 // write the description 83 if (attr.containsKey(GpxData.META_DESC)) simpleTag("desc", (String)attr.get(GpxData.META_DESC)); 85 if (attr.containsKey(GpxData.META_DESC)) { 86 simpleTag("desc", (String)attr.get(GpxData.META_DESC)); 87 } 84 88 85 89 // write the author details … … 116 120 // write links 117 121 if(attr.containsKey(GpxData.META_LINKS)) { 118 for ( Objectlink : (Collection) attr.get(GpxData.META_LINKS)) {119 gpxLink( (GpxLink)link);122 for (GpxLink link : (Collection<GpxLink>) attr.get(GpxData.META_LINKS)) { 123 gpxLink(link); 120 124 } 121 125 } 122 126 123 127 // write keywords 124 if (attr.containsKey(GpxData.META_KEYWORDS)) simpleTag("keywords", (String)attr.get(GpxData.META_KEYWORDS)); 128 if (attr.containsKey(GpxData.META_KEYWORDS)) { 129 simpleTag("keywords", (String)attr.get(GpxData.META_KEYWORDS)); 130 } 125 131 126 132 Bounds bounds = data.recalculateBounds(); … … 128 134 { 129 135 String b = "minlat=\"" + bounds.getMin().lat() + "\" minlon=\"" + bounds.getMin().lon() + 130 136 "\" maxlat=\"" + bounds.getMax().lat() + "\" maxlon=\"" + bounds.getMax().lon() + "\"" ; 131 137 inline("bounds", b); 132 138 } -
trunk/src/org/openstreetmap/josm/plugins/PluginInformation.java
r2512 r2620 21 21 22 22 import org.openstreetmap.josm.Main; 23 import org.openstreetmap.josm.actions.AboutAction;24 23 import org.openstreetmap.josm.data.Version; 25 24 import org.openstreetmap.josm.tools.LanguageInfo; … … 125 124 { 126 125 int myv = Version.getInstance().getVersion(); 127 for(Map.Entry entry : attr.entrySet()) 126 for(Map.Entry<Object, Object> entry : attr.entrySet()) 128 127 { 129 128 try { -
trunk/test/unit/org/openstreetmap/josm/data/osm/APIDataSetTest.java
r2578 r2620 74 74 r3.put("name", "r3"); 75 75 76 Relation r4 = new Relation(1); 76 Relation r4 = new Relation(1, 1); 77 77 r4.put("name", "r4"); 78 r4.setIncomplete(false);79 78 r4.setModified(true); 80 79 -
trunk/test/unit/org/openstreetmap/josm/data/osm/DataSetMergerTest.java
r2587 r2620 191 191 DataSet my = new DataSet(); 192 192 my.setVersion("0.6"); 193 Node n = new Node(1); 193 Node n = new Node(1, 1); 194 194 n.setCoor(new LatLon(0,0)); 195 n.setIncomplete(false);196 195 n.setDeleted(true); 197 196 n.put("key1", "value1"); … … 201 200 their.setVersion("0.6"); 202 201 Node n1 = new Node(new LatLon(0,0)); 203 n1.setOsmId(1, 1);202 n1.setOsmId(1,2); 204 203 n1.setModified(false); 205 204 n1.put("key1", "value1-new"); … … 437 436 DataSet my = new DataSet(); 438 437 my.setVersion("0.6"); 439 Node n = new Node(); 440 n.setCoor(new LatLon(0,0)); 441 n.setOsmId(1,1); 442 n.setIncomplete(true); 438 Node n = new Node(1); 443 439 my.addPrimitive(n); 444 440 … … 1057 1053 my.addPrimitive(n5); 1058 1054 1059 Way w6 = new Way(3); 1060 w6.setIncomplete(false); 1055 Way w6 = new Way(3, 1); 1061 1056 w6.setNodes(Arrays.asList(n4,n5)); 1062 1057 my.addPrimitive(w6); … … 1097 1092 1098 1093 // an complete node 1099 Node n1 = new Node(1); 1094 Node n1 = new Node(1, 1); 1100 1095 n1.setCoor(new LatLon(1,1)); 1101 n1.setIncomplete(false);1102 1096 source.addPrimitive(n1); 1103 1097 1104 1098 // another complete node 1105 Node n2 = new Node(2); 1099 Node n2 = new Node(2, 1); 1106 1100 n2.setCoor(new LatLon(2,2)); 1107 n2.setIncomplete(false);1108 1101 source.addPrimitive(n2); 1109 1102 1110 // --- target daset 1103 // --- target dataset 1111 1104 DataSet target = new DataSet(); 1112 1105 target.setVersion("0.6"); … … 1118 1111 target.addPrimitive(n5); 1119 1112 1120 Way w6 = new Way(3); 1121 w6.setIncomplete(false); 1113 Way w6 = new Way(3, 1); 1122 1114 w6.addNode(n4); 1123 1115 w6.addNode(n5); 1124 w6.setIncomplete(true);1125 1116 target.addPrimitive(w6); 1126 1117 … … 1143 1134 assertNotNull(w); 1144 1135 assertFalse(w.hasIncompleteNodes()); 1145 assert False(w.isUsable());1136 assertTrue(w.isUsable()); 1146 1137 assertEquals(2, w.getNodesCount()); 1147 1138 assertEquals(1, w.getNode(0).getId()); -
trunk/test/unit/org/openstreetmap/josm/data/osm/visitor/MergeSourceBuildingVisitorTest.java
r2578 r2620 71 71 Node n1 = new Node(1); 72 72 Node n2 = new Node(2); 73 Way w1 = new Way(3); 74 w1.setIncomplete(false); 73 Way w1 = new Way(3, 1); 75 74 w1.addNode(n1); 76 75 w1.addNode(n2); … … 104 103 Node n1 = new Node(1); 105 104 Node n2 = new Node(2); 106 Way w1 = new Way(3); 107 w1.setIncomplete(false); 105 Way w1 = new Way(3, 1); 108 106 w1.addNode(n1); 109 107 w1.addNode(n2); … … 154 152 DataSet source = new DataSet(); 155 153 Relation r1 = new Relation(1); 156 Node n20 = new Node(20); 154 Node n20 = new Node(20, 1); 157 155 r1.addMember(new RelationMember("node-20",n20)); 158 r1.setIncomplete(false); 159 Way w30 = new Way(30); 160 w30.setIncomplete(false); 156 Way w30 = new Way(30, 1); 161 157 Node n21; 162 158 w30.addNode(n21 = new Node(21)); … … 216 212 Node n20 = new Node(20); 217 213 r1.addMember(new RelationMember("node-20",n20)); 218 Way w30 = new Way(30); 219 w30.setIncomplete(false); 214 Way w30 = new Way(30, 1); 220 215 Node n21; 221 216 w30.addNode(n21 = new Node(21)); -
trunk/test/unit/org/openstreetmap/josm/gui/conflict/nodes/NodeListMergeModelTest.java
r2578 r2620 29 29 } 30 30 31 protected DefaultListSelectionModel inspectListSelectionModel(NodeListMergeModel model, String name) throws NoSuchFieldException, IllegalAccessException{31 protected DefaultListSelectionModel inspectListSelectionModel(NodeListMergeModel model, String name) { 32 32 return field(name).ofType(DefaultListSelectionModel.class) 33 33 .in(model) … … 61 61 62 62 @Test 63 public void test_copyMyNodesToTop_1() throws IllegalAccessException, NoSuchFieldException { 64 NodeListMergeModel model = new NodeListMergeModel(); 65 66 Way myWay = new Way(1); 67 myWay.setIncomplete(false); 63 public void test_copyMyNodesToTop_1() { 64 NodeListMergeModel model = new NodeListMergeModel(); 65 66 Way myWay = new Way(1, 1); 68 67 myWay.addNode(new Node(2)); 69 68 myWay.addNode(new Node(3)); … … 85 84 86 85 @Test 87 public void test_copyMyNodesToTop_2() throws IllegalAccessException, NoSuchFieldException { 88 NodeListMergeModel model = new NodeListMergeModel(); 89 90 91 Way myWay = new Way(1); 92 myWay.setIncomplete(false); 86 public void test_copyMyNodesToTop_2() { 87 NodeListMergeModel model = new NodeListMergeModel(); 88 89 90 Way myWay = new Way(1, 1); 93 91 myWay.addNode(new Node(2)); 94 92 myWay.addNode(new Node(3)); … … 117 115 118 116 @Test 119 public void test_copyMyNodesToTop_3() throws IllegalAccessException, NoSuchFieldException { 120 NodeListMergeModel model = new NodeListMergeModel(); 121 122 123 Way myWay = new Way(1); 124 myWay.setIncomplete(false); 117 public void test_copyMyNodesToTop_3() { 118 NodeListMergeModel model = new NodeListMergeModel(); 119 120 121 Way myWay = new Way(1, 1); 125 122 myWay.addNode(new Node(2)); 126 123 myWay.addNode(new Node(3)); … … 145 142 146 143 @Test 147 public void test_copyMyNodesToTop_4() throws IllegalAccessException, NoSuchFieldException { 148 NodeListMergeModel model = new NodeListMergeModel(); 149 150 151 Way myWay = new Way(1); 152 myWay.setIncomplete(false); 144 public void test_copyMyNodesToTop_4() { 145 NodeListMergeModel model = new NodeListMergeModel(); 146 147 148 Way myWay = new Way(1, 1); 153 149 myWay.addNode(new Node(2)); 154 150 myWay.addNode(new Node(3)); … … 175 171 176 172 @Test 177 public void test_copyMyNodesToEnd_1() throws IllegalAccessException, NoSuchFieldException { 178 NodeListMergeModel model = new NodeListMergeModel(); 179 180 Way myWay = new Way(1); 181 myWay.setIncomplete(false); 173 public void test_copyMyNodesToEnd_1() { 174 NodeListMergeModel model = new NodeListMergeModel(); 175 176 Way myWay = new Way(1, 1); 182 177 myWay.addNode(new Node(2)); 183 178 myWay.addNode(new Node(3)); … … 197 192 198 193 @Test 199 public void test_copyMyNodesToEnd_2() throws IllegalAccessException, NoSuchFieldException { 200 NodeListMergeModel model = new NodeListMergeModel(); 201 202 Way myWay = new Way(1); 203 myWay.setIncomplete(false); 194 public void test_copyMyNodesToEnd_2() { 195 NodeListMergeModel model = new NodeListMergeModel(); 196 197 Way myWay = new Way(1, 1); 204 198 myWay.addNode(new Node(2)); 205 199 myWay.addNode(new Node(3)); … … 223 217 224 218 @Test 225 public void test_copyMyNodesToEnd_3() throws IllegalAccessException, NoSuchFieldException { 226 NodeListMergeModel model = new NodeListMergeModel(); 227 228 229 Way myWay = new Way(1); 230 myWay.setIncomplete(false); 219 public void test_copyMyNodesToEnd_3() { 220 NodeListMergeModel model = new NodeListMergeModel(); 221 222 223 Way myWay = new Way(1, 1); 231 224 myWay.addNode(new Node(2)); 232 225 myWay.addNode(new Node(3)); … … 251 244 252 245 @Test 253 public void test_copyMyNodesToEnd_4() throws IllegalAccessException, NoSuchFieldException { 254 NodeListMergeModel model = new NodeListMergeModel(); 255 256 257 Way myWay = new Way(1); 258 myWay.setIncomplete(false); 246 public void test_copyMyNodesToEnd_4() { 247 NodeListMergeModel model = new NodeListMergeModel(); 248 249 250 Way myWay = new Way(1, 1); 259 251 myWay.addNode(new Node(2)); 260 252 myWay.addNode(new Node(3)); … … 285 277 286 278 @Test 287 public void test_copyMyNodesBeforeCurrent_1() throws IllegalAccessException, NoSuchFieldException { 288 NodeListMergeModel model = new NodeListMergeModel(); 289 290 Way myWay = new Way(1); 291 myWay.setIncomplete(false); 279 public void test_copyMyNodesBeforeCurrent_1() { 280 NodeListMergeModel model = new NodeListMergeModel(); 281 282 Way myWay = new Way(1, 1); 292 283 myWay.addNode(new Node(1)); 293 284 myWay.addNode(new Node(2)); … … 314 305 315 306 @Test 316 public void test_copyMyNodesBeforeCurrent_2() throws IllegalAccessException, NoSuchFieldException { 317 NodeListMergeModel model = new NodeListMergeModel(); 318 319 Way myWay = new Way(1); 320 myWay.setIncomplete(false); 307 public void test_copyMyNodesBeforeCurrent_2() { 308 NodeListMergeModel model = new NodeListMergeModel(); 309 310 Way myWay = new Way(1, 1); 321 311 myWay.addNode(new Node(1)); 322 312 myWay.addNode(new Node(2)); … … 343 333 344 334 @Test 345 public void test_copyMyNodesBeforeCurrent_3() throws IllegalAccessException, NoSuchFieldException { 346 NodeListMergeModel model = new NodeListMergeModel(); 347 348 Way myWay = new Way(1); 349 myWay.setIncomplete(false); 335 public void test_copyMyNodesBeforeCurrent_3() { 336 NodeListMergeModel model = new NodeListMergeModel(); 337 338 Way myWay = new Way(1, 1); 350 339 myWay.addNode(new Node(1)); 351 340 myWay.addNode(new Node(2)); … … 377 366 /* ----------------------------------------------------------------------------- */ 378 367 @Test 379 public void test_copyMyNodesAfterCurrent_1() throws IllegalAccessException, NoSuchFieldException { 380 NodeListMergeModel model = new NodeListMergeModel(); 381 382 Way myWay = new Way(1); 383 myWay.setIncomplete(false); 368 public void test_copyMyNodesAfterCurrent_1() { 369 NodeListMergeModel model = new NodeListMergeModel(); 370 371 Way myWay = new Way(1, 1); 384 372 myWay.addNode(new Node(1)); 385 373 myWay.addNode(new Node(2)); … … 406 394 407 395 @Test 408 public void test_copyMyNodesAfterCurrent_2() throws IllegalAccessException, NoSuchFieldException { 409 NodeListMergeModel model = new NodeListMergeModel(); 410 411 Way myWay = new Way(1); 412 myWay.setIncomplete(false); 396 public void test_copyMyNodesAfterCurrent_2() { 397 NodeListMergeModel model = new NodeListMergeModel(); 398 399 Way myWay = new Way(1, 1); 413 400 myWay.addNode(new Node(1)); 414 401 myWay.addNode(new Node(2)); … … 437 424 438 425 @Test 439 public void test_copyMyNodesAfterCurrent_3() throws IllegalAccessException, NoSuchFieldException { 440 NodeListMergeModel model = new NodeListMergeModel(); 441 442 Way myWay = new Way(1); 443 myWay.setIncomplete(false); 426 public void test_copyMyNodesAfterCurrent_3() { 427 NodeListMergeModel model = new NodeListMergeModel(); 428 429 Way myWay = new Way(1, 1); 444 430 myWay.addNode(new Node(1)); 445 431 myWay.addNode(new Node(2)); … … 467 453 468 454 @Test 469 public void test_copyMyNodesAfterCurrent_4() throws IllegalAccessException, NoSuchFieldException { 470 NodeListMergeModel model = new NodeListMergeModel(); 471 472 Way myWay = new Way(1); 473 myWay.setIncomplete(false); 455 public void test_copyMyNodesAfterCurrent_4() { 456 NodeListMergeModel model = new NodeListMergeModel(); 457 458 Way myWay = new Way(1, 1); 474 459 myWay.addNode(new Node(1)); 475 460 myWay.addNode(new Node(2)); … … 501 486 /* ----------------------------------------------------------------------------- */ 502 487 @Test 503 public void test_moveUpMergedNodes_1() throws IllegalAccessException, NoSuchFieldException { 504 NodeListMergeModel model = new NodeListMergeModel(); 505 506 Way myWay = new Way(1); 507 myWay.setIncomplete(false); 488 public void test_moveUpMergedNodes_1() { 489 NodeListMergeModel model = new NodeListMergeModel(); 490 491 Way myWay = new Way(1, 1); 508 492 myWay.addNode(new Node(1)); 509 493 myWay.addNode(new Node(2)); … … 528 512 529 513 @Test 530 public void test_moveUpMergedNodes_2() throws IllegalAccessException, NoSuchFieldException { 531 NodeListMergeModel model = new NodeListMergeModel(); 532 533 Way myWay = new Way(1); 534 myWay.setIncomplete(false); 514 public void test_moveUpMergedNodes_2() { 515 NodeListMergeModel model = new NodeListMergeModel(); 516 517 Way myWay = new Way(1, 1); 535 518 myWay.addNode(new Node(1)); 536 519 myWay.addNode(new Node(2)); … … 559 542 560 543 @Test 561 public void test_moveUpMergedNodes_3() throws IllegalAccessException, NoSuchFieldException { 562 NodeListMergeModel model = new NodeListMergeModel(); 563 564 Way myWay = new Way(1); 565 myWay.setIncomplete(false); 544 public void test_moveUpMergedNodes_3() { 545 NodeListMergeModel model = new NodeListMergeModel(); 546 547 Way myWay = new Way(1, 1); 566 548 myWay.addNode(new Node(1)); 567 549 myWay.addNode(new Node(2)); … … 593 575 /* ----------------------------------------------------------------------------- */ 594 576 @Test 595 public void test_moveDownMergedNodes_1() throws IllegalAccessException, NoSuchFieldException { 596 NodeListMergeModel model = new NodeListMergeModel(); 597 598 Way myWay = new Way(1); 599 myWay.setIncomplete(false); 577 public void test_moveDownMergedNodes_1() { 578 NodeListMergeModel model = new NodeListMergeModel(); 579 580 Way myWay = new Way(1, 1); 600 581 myWay.addNode(new Node(1)); 601 582 myWay.addNode(new Node(2)); … … 620 601 621 602 @Test 622 public void test_moveDownMergedNodes_2() throws IllegalAccessException, NoSuchFieldException { 623 NodeListMergeModel model = new NodeListMergeModel(); 624 625 Way myWay = new Way(1); 626 myWay.setIncomplete(false); 603 public void test_moveDownMergedNodes_2() { 604 NodeListMergeModel model = new NodeListMergeModel(); 605 606 Way myWay = new Way(1, 1); 627 607 myWay.addNode(new Node(1)); 628 608 myWay.addNode(new Node(2)); … … 651 631 652 632 @Test 653 public void test_moveDownMergedNodes_3() throws IllegalAccessException, NoSuchFieldException { 654 NodeListMergeModel model = new NodeListMergeModel(); 655 656 Way myWay = new Way(1); 657 myWay.setIncomplete(false); 633 public void test_moveDownMergedNodes_3() { 634 NodeListMergeModel model = new NodeListMergeModel(); 635 636 Way myWay = new Way(1, 1); 658 637 myWay.addNode(new Node(1)); 659 638 myWay.addNode(new Node(2));
Note:
See TracChangeset
for help on using the changeset viewer.