Changeset 5298 in josm for trunk/src/org/openstreetmap/josm/gui/conflict/pair/ListMergeModel.java
- Timestamp:
- 2012-06-24T21:02:36+02:00 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/gui/conflict/pair/ListMergeModel.java
r5297 r5298 15 15 import java.util.HashMap; 16 16 import java.util.List; 17 import java.util.Map; 17 18 import java.util.Observable; 18 19 … … 21 22 import javax.swing.DefaultListSelectionModel; 22 23 import javax.swing.JOptionPane; 24 import javax.swing.JTable; 25 import javax.swing.ListSelectionModel; 23 26 import javax.swing.table.DefaultTableModel; 24 27 import javax.swing.table.TableModel; 25 28 26 29 import org.openstreetmap.josm.Main; 30 import org.openstreetmap.josm.data.osm.DataSet; 27 31 import org.openstreetmap.josm.data.osm.OsmPrimitive; 28 32 import org.openstreetmap.josm.data.osm.PrimitiveId; … … 30 34 import org.openstreetmap.josm.gui.help.HelpUtil; 31 35 import org.openstreetmap.josm.gui.widgets.OsmPrimitivesTableModel; 36 import org.openstreetmap.josm.tools.CheckParameterUtil; 32 37 33 38 /** … … 63 68 * @see ListMerger 64 69 */ 65 public abstract class ListMergeModel<T > extends Observable {70 public abstract class ListMergeModel<T extends PrimitiveId> extends Observable { 66 71 public static final String FROZEN_PROP = ListMergeModel.class.getName() + ".frozen"; 67 72 … … 81 86 private boolean isFrozen = false; 82 87 private final ComparePairListModel comparePairListModel; 88 89 private DataSet myDataset; 90 private Map<PrimitiveId, PrimitiveId> mergedMap; 83 91 84 92 /** … … 118 126 * @return Primitive from my dataset referenced by entry 119 127 */ 120 protected abstract OsmPrimitive getMyPrimitive(T entry); 128 protected OsmPrimitive getMyPrimitive(T entry) { 129 return getMyPrimitiveDefault(entry); 130 } 131 132 protected final OsmPrimitive getMyPrimitiveDefault(PrimitiveId entry) { 133 OsmPrimitive result = myDataset.getPrimitiveById(entry); 134 if (result == null && mergedMap != null) { 135 PrimitiveId id = mergedMap.get(entry); 136 if (id == null && entry instanceof OsmPrimitive) { 137 id = mergedMap.get(((OsmPrimitive)entry).getPrimitiveId()); 138 } 139 if (id != null) { 140 result = myDataset.getPrimitiveById(id); 141 } 142 } 143 return result; 144 } 121 145 122 146 protected void buildMyEntriesTableModel() { … … 310 334 getMergedEntries().clear(); 311 335 fireModelDataChanged(); 336 } 337 338 protected final void initPopulate(OsmPrimitive my, OsmPrimitive their, Map<PrimitiveId, PrimitiveId> mergedMap) { 339 CheckParameterUtil.ensureParameterNotNull(my, "my"); 340 CheckParameterUtil.ensureParameterNotNull(their, "their"); 341 this.myDataset = my.getDataSet(); 342 this.mergedMap = mergedMap; 343 getMergedEntries().clear(); 344 getMyEntries().clear(); 345 getTheirEntries().clear(); 312 346 } 313 347
Note:
See TracChangeset
for help on using the changeset viewer.