org.openstreetmap.josm.gui.conflict.pair.relation
Class RelationMemberListMergeModel
java.lang.Object
java.util.Observable
org.openstreetmap.josm.gui.conflict.pair.ListMergeModel<RelationMember>
org.openstreetmap.josm.gui.conflict.pair.relation.RelationMemberListMergeModel
public class RelationMemberListMergeModel
- extends ListMergeModel<RelationMember>
The model for merging two lists of relation members
Method Summary |
protected void |
buildMergedEntriesTableModel()
|
RelationMemberConflictResolverCommand |
buildResolveCommand(Relation my,
Relation their)
Builds the command to resolve conflicts in the node list of a way |
protected RelationMember |
cloneEntryForMergedList(RelationMember entry)
Creates a clone of an entry of type T suitable to be included in the
list of merged entries |
OsmPrimitive |
getMyPrimitive(RelationMember entry)
|
boolean |
isEqualEntry(RelationMember e1,
RelationMember e2)
checks whether two entries are equal. |
void |
populate(Relation my,
Relation their,
java.util.Map<PrimitiveId,PrimitiveId> mergedMap)
populates the model with the relation members in relation my and their |
protected void |
setValueAt(javax.swing.table.DefaultTableModel model,
java.lang.Object value,
int row,
int col)
Handles method dispatches from ListMergeModel.EntriesTableModel.setValueAt(Object, int, int) . |
Methods inherited from class org.openstreetmap.josm.gui.conflict.pair.ListMergeModel |
addPropertyChangeListener, alertCopyFailedForDeletedPrimitives, buildMyEntriesTableModel, buildTheirEntriesTableModel, clearMerged, copyAfterCurrent, copyAll, copyBeforeCurrent, copyMyAfterCurrent, copyMyBeforeCurrent, copyMyToEnd, copyMyToTop, copyTheirAfterCurrent, copyTheirBeforeCurrent, copyTheirToEnd, copyTheirToTop, copyToEnd, copyToTop, fireFrozenChanged, fireModelDataChanged, getComparePairListModel, getMergedEntries, getMergedEntriesSize, getMergedSelectionModel, getMergedTableModel, getMyEntries, getMyEntriesSize, getMyPrimitiveById, getMySelectionModel, getMyTableModel, getTheirEntries, getTheirEntriesSize, getTheirSelectionModel, getTheirTableModel, initPopulate, isFrozen, moveDownMerged, moveUpMerged, myAndTheirEntriesEqual, removeMerged, removePropertyChangeListener, setFrozen |
Methods inherited from class java.util.Observable |
addObserver, clearChanged, countObservers, deleteObserver, deleteObservers, hasChanged, notifyObservers, notifyObservers, setChanged |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
RelationMemberListMergeModel
public RelationMemberListMergeModel()
isEqualEntry
public boolean isEqualEntry(RelationMember e1,
RelationMember e2)
- Description copied from class:
ListMergeModel
- checks whether two entries are equal. This is not necessarily the same as
e1.equals(e2).
- Specified by:
isEqualEntry
in class ListMergeModel<RelationMember>
- Parameters:
e1
- the first entrye2
- the second entry
- Returns:
- true, if the entries are equal, false otherwise.
buildMergedEntriesTableModel
protected void buildMergedEntriesTableModel()
- Overrides:
buildMergedEntriesTableModel
in class ListMergeModel<RelationMember>
setValueAt
protected void setValueAt(javax.swing.table.DefaultTableModel model,
java.lang.Object value,
int row,
int col)
- Description copied from class:
ListMergeModel
- Handles method dispatches from
ListMergeModel.EntriesTableModel.setValueAt(Object, int, int)
.
- Specified by:
setValueAt
in class ListMergeModel<RelationMember>
- Parameters:
model
- the table modelvalue
- the value to be setrow
- the row indexcol
- the column index- See Also:
ListMergeModel.EntriesTableModel.setValueAt(Object, int, int)
populate
public void populate(Relation my,
Relation their,
java.util.Map<PrimitiveId,PrimitiveId> mergedMap)
- populates the model with the relation members in relation my and their
- Parameters:
my
- my relation. Must not be null.their
- their relation. Must not be null.mergedMap
- The map of merged primitives if the conflict results from merging two layers
- Throws:
java.lang.IllegalArgumentException
- if my is null
java.lang.IllegalArgumentException
- if their is null
cloneEntryForMergedList
protected RelationMember cloneEntryForMergedList(RelationMember entry)
- Description copied from class:
ListMergeModel
- Creates a clone of an entry of type T suitable to be included in the
list of merged entries
- Specified by:
cloneEntryForMergedList
in class ListMergeModel<RelationMember>
- Parameters:
entry
- the entry
- Returns:
- the cloned entry
getMyPrimitive
public OsmPrimitive getMyPrimitive(RelationMember entry)
- Overrides:
getMyPrimitive
in class ListMergeModel<RelationMember>
- Returns:
- Primitive from my dataset referenced by entry
buildResolveCommand
public RelationMemberConflictResolverCommand buildResolveCommand(Relation my,
Relation their)
- Builds the command to resolve conflicts in the node list of a way
- Parameters:
my
- my relation. Must not be null.their
- their relation. Must not be null
- Returns:
- the command
- Throws:
java.lang.IllegalArgumentException
- thrown, if my is null
java.lang.IllegalArgumentException
- thrown, if their is null
java.lang.IllegalStateException
- thrown, if the merge is not yet frozen
JOSM