public class ConflictResolver extends javax.swing.JPanel implements java.beans.PropertyChangeListener
OsmPrimitives.
This component emits PropertyChangeEvents for three properties:
RESOLVED_COMPLETELY_PROP - new value is true, if the conflict is
completely resolvedMY_PRIMITIVE_PROP - new value is the OsmPrimitive in the role of
my primitiveTHEIR_PRIMITIVE_PROP - new value is the OsmPrimitive in the role of
their primitivejavax.swing.JPanel.AccessibleJPaneljavax.swing.JComponent.AccessibleJComponent| Modifier and Type | Field and Description |
|---|---|
private Conflict<? extends OsmPrimitive> |
conflict |
private java.util.List<IConflictResolver> |
conflictResolvers |
private javax.swing.ImageIcon |
mergeComplete |
private javax.swing.ImageIcon |
mergeIncomplete |
private OsmPrimitive |
my |
static java.lang.String |
MY_PRIMITIVE_PROP
name of the property for the
OsmPrimitive in the role "my" |
private NodeListMerger |
nodeListMerger |
private PropertiesMerger |
propertiesMerger |
private RelationMemberMerger |
relationMemberMerger |
static java.lang.String |
RESOLVED_COMPLETELY_PROP
name of the property indicating whether all conflicts are resolved,
isResolvedCompletely() |
private boolean |
resolvedCompletely
indicates whether the current conflict is resolved completely
|
private javax.swing.JTabbedPane |
tabbedPane |
private TagMerger |
tagMerger |
private OsmPrimitive |
their |
static java.lang.String |
THEIR_PRIMITIVE_PROP
name of the property for the
OsmPrimitive in the role "my" |
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW| Constructor and Description |
|---|
ConflictResolver()
constructor
|
| Modifier and Type | Method and Description |
|---|---|
private void |
addTab(java.lang.String title,
javax.swing.JComponent tabContent) |
protected void |
build()
builds the UI
|
Command |
buildResolveCommand()
Builds the resolution command(s) for the resolved conflicts in this ConflictResolver
|
void |
decideRemaining(MergeDecisionType decision)
Decides/resolves undecided conflicts to the given decision type |
boolean |
isResolvedCompletely()
Replies true all differences in this conflicts are resolved
|
protected void |
loadIcons()
loads the required icons
|
void |
populate(Conflict<? extends OsmPrimitive> conflict)
populates the conflict resolver with the conflicts between my and their
|
void |
propertyChange(java.beans.PropertyChangeEvent evt)
handles property change events
|
void |
registerListeners()
Adds all registered listeners by this conflict resolver
|
void |
selectFirstTabWithConflicts()
Selects the first tab with conflicts |
protected void |
setMy(OsmPrimitive my)
Sets the
OsmPrimitive in the role "my" |
protected void |
setTheir(OsmPrimitive their)
Sets the
OsmPrimitive in the role "their". |
void |
unregisterListeners()
Removes all registered listeners by this conflict resolver
|
protected void |
updateResolvedCompletely()
Updates the state of the property
RESOLVED_COMPLETELY_PROP |
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUIaddAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, updateadd, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTreeaction, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCyclepublic static final java.lang.String RESOLVED_COMPLETELY_PROP
isResolvedCompletely()public static final java.lang.String MY_PRIMITIVE_PROP
OsmPrimitive in the role "my"public static final java.lang.String THEIR_PRIMITIVE_PROP
OsmPrimitive in the role "my"private javax.swing.JTabbedPane tabbedPane
private NodeListMerger nodeListMerger
private RelationMemberMerger relationMemberMerger
private PropertiesMerger propertiesMerger
private final transient java.util.List<IConflictResolver> conflictResolvers
private transient OsmPrimitive my
private transient OsmPrimitive their
private transient Conflict<? extends OsmPrimitive> conflict
private javax.swing.ImageIcon mergeComplete
private javax.swing.ImageIcon mergeIncomplete
private boolean resolvedCompletely
public ConflictResolver()
protected final void loadIcons()
protected final void build()
private void addTab(java.lang.String title, javax.swing.JComponent tabContent)
protected void setMy(OsmPrimitive my)
OsmPrimitive in the role "my"my - the primitive in the role "my"protected void setTheir(OsmPrimitive their)
OsmPrimitive in the role "their".their - the primitive in the role "their"public void propertyChange(java.beans.PropertyChangeEvent evt)
propertyChange in interface java.beans.PropertyChangeListenerevt - the eventTagMergeModel,
AbstractListMergeModel,
PropertiesMergeModelpublic void populate(Conflict<? extends OsmPrimitive> conflict)
conflict - the conflict data setpublic void selectFirstTabWithConflicts()
Selects the first tab with conflictspublic Command buildResolveCommand()
protected void updateResolvedCompletely()
RESOLVED_COMPLETELY_PROPpublic boolean isResolvedCompletely()
public void registerListeners()
unregisterListeners()public void unregisterListeners()
public void decideRemaining(MergeDecisionType decision)
Decides/resolves undecided conflicts to the given decision typedecision - the decision to take for undecided conflictsjava.lang.AssertionError - if isResolvedCompletely() does not hold after applying the decision