Class ConflictResolver
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- org.openstreetmap.josm.gui.conflict.pair.ConflictResolver
-
- All Implemented Interfaces:
java.awt.image.ImageObserver,java.awt.MenuContainer,java.beans.PropertyChangeListener,java.io.Serializable,java.util.EventListener,javax.accessibility.Accessible
public class ConflictResolver extends javax.swing.JPanel implements java.beans.PropertyChangeListener
An UI component for resolving conflicts between twoOsmPrimitives. This component emitsPropertyChangeEvents for three properties:RESOLVED_COMPLETELY_PROP- new value istrue, if the conflict is completely resolvedMY_PRIMITIVE_PROP- new value is theOsmPrimitivein the role of my primitiveTHEIR_PRIMITIVE_PROP- new value is theOsmPrimitivein the role of their primitive
- Since:
- 1622
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
-
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
-
-
Field Summary
Fields Modifier and Type Field Description private Conflict<? extends OsmPrimitive>conflictprivate java.util.List<IConflictResolver>conflictResolversprivate javax.swing.ImageIconmergeCompleteprivate javax.swing.ImageIconmergeIncompleteprivate OsmPrimitivemystatic java.lang.StringMY_PRIMITIVE_PROPname of the property for theOsmPrimitivein the role "my"private NodeListMergernodeListMergerprivate PropertiesMergerpropertiesMergerprivate RelationMemberMergerrelationMemberMergerstatic java.lang.StringRESOLVED_COMPLETELY_PROPname of the property indicating whether all conflicts are resolved,isResolvedCompletely()private booleanresolvedCompletelyindicates whether the current conflict is resolved completelyprivate javax.swing.JTabbedPanetabbedPaneprivate TagMergertagMergerprivate OsmPrimitivetheirstatic java.lang.StringTHEIR_PRIMITIVE_PROPname of the property for theOsmPrimitivein the role "my"-
Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
-
-
Constructor Summary
Constructors Constructor Description ConflictResolver()constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidaddTab(java.lang.String title, javax.swing.JComponent tabContent)protected voidbuild()builds the UICommandbuildResolveCommand()Builds the resolution command(s) for the resolved conflicts in this ConflictResolvervoiddecideRemaining(MergeDecisionType decision)Decides/resolvesundecided conflicts to the given decision typebooleanisResolvedCompletely()Replies true all differences in this conflicts are resolvedprotected voidloadIcons()loads the required iconsvoidpopulate(Conflict<? extends OsmPrimitive> conflict)populates the conflict resolver with the conflicts between my and theirvoidpropertyChange(java.beans.PropertyChangeEvent evt)handles property change eventsvoidregisterListeners()Adds all registered listeners by this conflict resolvervoidselectFirstTabWithConflicts()Selectsthe first tab with conflictsprotected voidsetMy(OsmPrimitive my)Sets theOsmPrimitivein the role "my"protected voidsetTheir(OsmPrimitive their)Sets theOsmPrimitivein the role "their".voidunregisterListeners()Removes all registered listeners by this conflict resolverprotected voidupdateResolvedCompletely()Updates the state of the propertyRESOLVED_COMPLETELY_PROP-
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
-
Methods inherited from class javax.swing.JComponent
addAncestorListener, 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, update
-
Methods inherited from class java.awt.Container
add, 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, validateTree
-
Methods inherited from class java.awt.Component
action, 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, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
RESOLVED_COMPLETELY_PROP
public static final java.lang.String RESOLVED_COMPLETELY_PROP
name of the property indicating whether all conflicts are resolved,isResolvedCompletely()
-
MY_PRIMITIVE_PROP
public static final java.lang.String MY_PRIMITIVE_PROP
name of the property for theOsmPrimitivein the role "my"
-
THEIR_PRIMITIVE_PROP
public static final java.lang.String THEIR_PRIMITIVE_PROP
name of the property for theOsmPrimitivein the role "my"
-
tabbedPane
private javax.swing.JTabbedPane tabbedPane
-
nodeListMerger
private NodeListMerger nodeListMerger
-
relationMemberMerger
private RelationMemberMerger relationMemberMerger
-
propertiesMerger
private PropertiesMerger propertiesMerger
-
conflictResolvers
private final transient java.util.List<IConflictResolver> conflictResolvers
-
my
private transient OsmPrimitive my
-
their
private transient OsmPrimitive their
-
conflict
private transient Conflict<? extends OsmPrimitive> conflict
-
mergeComplete
private javax.swing.ImageIcon mergeComplete
-
mergeIncomplete
private javax.swing.ImageIcon mergeIncomplete
-
resolvedCompletely
private boolean resolvedCompletely
indicates whether the current conflict is resolved completely
-
-
Constructor Detail
-
ConflictResolver
public ConflictResolver()
constructor
-
-
Method Detail
-
loadIcons
protected final void loadIcons()
loads the required icons
-
build
protected final void build()
builds the UI
-
addTab
private void addTab(java.lang.String title, javax.swing.JComponent tabContent)
-
setMy
protected void setMy(OsmPrimitive my)
Sets theOsmPrimitivein the role "my"- Parameters:
my- the primitive in the role "my"
-
setTheir
protected void setTheir(OsmPrimitive their)
Sets theOsmPrimitivein the role "their".- Parameters:
their- the primitive in the role "their"
-
propertyChange
public void propertyChange(java.beans.PropertyChangeEvent evt)
handles property change events- Specified by:
propertyChangein interfacejava.beans.PropertyChangeListener- Parameters:
evt- the event- See Also:
TagMergeModel,AbstractListMergeModel,PropertiesMergeModel
-
populate
public void populate(Conflict<? extends OsmPrimitive> conflict)
populates the conflict resolver with the conflicts between my and their- Parameters:
conflict- the conflict data set
-
selectFirstTabWithConflicts
public void selectFirstTabWithConflicts()
Selectsthe first tab with conflicts
-
buildResolveCommand
public Command buildResolveCommand()
Builds the resolution command(s) for the resolved conflicts in this ConflictResolver- Returns:
- the resolution command
-
updateResolvedCompletely
protected void updateResolvedCompletely()
Updates the state of the propertyRESOLVED_COMPLETELY_PROP
-
isResolvedCompletely
public boolean isResolvedCompletely()
Replies true all differences in this conflicts are resolved- Returns:
- true all differences in this conflicts are resolved
-
registerListeners
public void registerListeners()
Adds all registered listeners by this conflict resolver- Since:
- 10454
- See Also:
unregisterListeners()
-
unregisterListeners
public void unregisterListeners()
Removes all registered listeners by this conflict resolver
-
decideRemaining
public void decideRemaining(MergeDecisionType decision)
Decides/resolvesundecided conflicts to the given decision type- Parameters:
decision- the decision to take for undecided conflicts- Throws:
java.lang.AssertionError- ifisResolvedCompletely()does not hold after applying the decision
-
-