Class RelationMemberListMergeModel
- java.lang.Object
-
- org.openstreetmap.josm.gui.util.ChangeNotifier
-
- org.openstreetmap.josm.gui.conflict.pair.AbstractListMergeModel<RelationMember,RelationMemberConflictResolverCommand>
-
- org.openstreetmap.josm.gui.conflict.pair.relation.RelationMemberListMergeModel
-
public class RelationMemberListMergeModel extends AbstractListMergeModel<RelationMember,RelationMemberConflictResolverCommand>
The model for merging two lists of relation members- Since:
- 1631
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.openstreetmap.josm.gui.conflict.pair.AbstractListMergeModel
AbstractListMergeModel.ComparePairListModel, AbstractListMergeModel.EntriesSelectionModel, AbstractListMergeModel.EntriesTableModel
-
-
Field Summary
-
Fields inherited from class org.openstreetmap.josm.gui.conflict.pair.AbstractListMergeModel
entries, FROZEN_PROP, mergedEntriesSelectionModel, mergedEntriesTableModel, myEntriesSelectionModel, myEntriesTableModel, theirEntriesSelectionModel, theirEntriesTableModel
-
-
Constructor Summary
Constructors Constructor Description RelationMemberListMergeModel()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
buildMergedEntriesTableModel()
RelationMemberConflictResolverCommand
buildResolveCommand(Conflict<? extends OsmPrimitive> conflict)
Builds the command to resolve conflicts in the list.protected RelationMember
cloneEntryForMergedList(RelationMember entry)
Creates a clone of an entry of type T suitable to be included in the list of merged entriesOsmPrimitive
getMyPrimitive(RelationMember entry)
Replies primitive from my dataset referenced by entryboolean
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 theirprotected void
setValueAt(javax.swing.table.DefaultTableModel model, java.lang.Object value, int row, int col)
Handles method dispatches fromTableModel.setValueAt(Object, int, int)
.-
Methods inherited from class org.openstreetmap.josm.gui.conflict.pair.AbstractListMergeModel
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 org.openstreetmap.josm.gui.util.ChangeNotifier
addChangeListener, fireStateChanged, removeChangeListener
-
-
-
-
Constructor Detail
-
RelationMemberListMergeModel
public RelationMemberListMergeModel()
-
-
Method Detail
-
isEqualEntry
public boolean isEqualEntry(RelationMember e1, RelationMember e2)
Description copied from class:AbstractListMergeModel
checks whether two entries are equal. This is not necessarily the same as e1.equals(e2).- Specified by:
isEqualEntry
in classAbstractListMergeModel<RelationMember,RelationMemberConflictResolverCommand>
- Parameters:
e1
- the first entrye2
- the second entry- Returns:
- true, if the entries are equal, false otherwise.
-
buildMergedEntriesTableModel
protected void buildMergedEntriesTableModel()
-
setValueAt
protected void setValueAt(javax.swing.table.DefaultTableModel model, java.lang.Object value, int row, int col)
Description copied from class:AbstractListMergeModel
Handles method dispatches fromTableModel.setValueAt(Object, int, int)
.- Specified by:
setValueAt
in classAbstractListMergeModel<RelationMember,RelationMemberConflictResolverCommand>
- Parameters:
model
- the table modelvalue
- the value to be setrow
- the row indexcol
- the column index- See Also:
TableModel.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 nulljava.lang.IllegalArgumentException
- if their is null
-
cloneEntryForMergedList
protected RelationMember cloneEntryForMergedList(RelationMember entry)
Description copied from class:AbstractListMergeModel
Creates a clone of an entry of type T suitable to be included in the list of merged entries- Specified by:
cloneEntryForMergedList
in classAbstractListMergeModel<RelationMember,RelationMemberConflictResolverCommand>
- Parameters:
entry
- the entry- Returns:
- the cloned entry
-
getMyPrimitive
public OsmPrimitive getMyPrimitive(RelationMember entry)
Description copied from class:AbstractListMergeModel
Replies primitive from my dataset referenced by entry- Overrides:
getMyPrimitive
in classAbstractListMergeModel<RelationMember,RelationMemberConflictResolverCommand>
- Parameters:
entry
- entry- Returns:
- Primitive from my dataset referenced by entry
-
buildResolveCommand
public RelationMemberConflictResolverCommand buildResolveCommand(Conflict<? extends OsmPrimitive> conflict)
Description copied from class:AbstractListMergeModel
Builds the command to resolve conflicts in the list.- Specified by:
buildResolveCommand
in classAbstractListMergeModel<RelationMember,RelationMemberConflictResolverCommand>
- Parameters:
conflict
- the conflict data set- Returns:
- the command
-
-