Package org.openstreetmap.josm.actions
Class UploadSelectionAction
- java.lang.Object
-
- javax.swing.AbstractAction
-
- org.openstreetmap.josm.actions.JosmAction
-
- org.openstreetmap.josm.actions.AbstractUploadAction
-
- org.openstreetmap.josm.actions.UploadSelectionAction
-
- All Implemented Interfaces:
ActionListener
,Serializable
,Cloneable
,EventListener
,Action
,Destroyable
public class UploadSelectionAction extends AbstractUploadAction
Uploads the current selection to the server.- Since:
- 2250
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) class
UploadSelectionAction.DeletedParentsChecker
(package private) static class
UploadSelectionAction.UploadHullBuilder
Computes the collection of primitives to upload, given a collection of candidate primitives.-
Nested classes/interfaces inherited from class org.openstreetmap.josm.actions.JosmAction
JosmAction.ActiveLayerChangeAdapter, JosmAction.LayerChangeAdapter, JosmAction.SelectionChangeAdapter
-
-
Field Summary
-
Fields inherited from class org.openstreetmap.josm.actions.JosmAction
sc
-
Fields inherited from class javax.swing.AbstractAction
changeSupport, enabled
-
Fields inherited from interface javax.swing.Action
ACCELERATOR_KEY, ACTION_COMMAND_KEY, DEFAULT, DISPLAYED_MNEMONIC_INDEX_KEY, LARGE_ICON_KEY, LONG_DESCRIPTION, MNEMONIC_KEY, NAME, SELECTED_KEY, SHORT_DESCRIPTION, SMALL_ICON
-
-
Constructor Summary
Constructors Constructor Description UploadSelectionAction()
Constructs a newUploadSelectionAction
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
actionPerformed(ActionEvent e)
protected Set<OsmPrimitive>
getDeletedPrimitives(DataSet ds)
protected Set<OsmPrimitive>
getModifiedPrimitives(Collection<OsmPrimitive> primitives)
protected boolean
hasPrimitivesToDelete(Collection<OsmPrimitive> primitives)
Replies true if there is at least one non-new, deleted primitive inprimitives
protected void
processPostParentChecker(OsmDataLayer layer, Collection<OsmPrimitive> toUpload)
protected void
updateEnabledState()
Override in subclasses to update the enabled state of the action when something in the JOSM state changes, i.e.protected void
updateEnabledState(Collection<? extends OsmPrimitive> selection)
Override in subclasses to update the enabled state of the action if the collection of selected primitives changes.void
uploadPrimitives(OsmDataLayer layer, Collection<OsmPrimitive> toUpload)
Uploads the primitives intoUpload
to the server.-
Methods inherited from class org.openstreetmap.josm.actions.AbstractUploadAction
buildLayerChangeAdapter
-
Methods inherited from class org.openstreetmap.josm.actions.JosmAction
buildActiveLayerChangeAdapter, checkAndConfirmOutlyingOperation, destroy, getLayerManager, getShortcut, initEnabledState, installAdapters, listenToLayerChange, listenToSelectionChange, setHelpId, setToolbarId, setTooltip, updateEnabledStateOnCurrentSelection, updateEnabledStateOnCurrentSelection, updateEnabledStateOnModifiableSelection, waitFuture
-
Methods inherited from class javax.swing.AbstractAction
addPropertyChangeListener, clone, firePropertyChange, getKeys, getPropertyChangeListeners, getValue, isEnabled, putValue, removePropertyChangeListener, setEnabled
-
-
-
-
Constructor Detail
-
UploadSelectionAction
public UploadSelectionAction()
Constructs a newUploadSelectionAction
.
-
-
Method Detail
-
updateEnabledState
protected void updateEnabledState()
Description copied from class:JosmAction
Override in subclasses to update the enabled state of the action when something in the JOSM state changes, i.e. when a layer is removed or added. SeeJosmAction.updateEnabledState(Collection)
to respond to changes in the collection of selected primitives. Default behavior is empty.- Overrides:
updateEnabledState
in classJosmAction
- See Also:
JosmAction.updateEnabledState(Collection)
,JosmAction.initEnabledState()
,JosmAction.listenToLayerChange()
-
updateEnabledState
protected void updateEnabledState(Collection<? extends OsmPrimitive> selection)
Description copied from class:JosmAction
Override in subclasses to update the enabled state of the action if the collection of selected primitives changes. This method is called with the new selection.- Overrides:
updateEnabledState
in classJosmAction
- Parameters:
selection
- the collection of selected primitives; may be empty, but not null- See Also:
JosmAction.updateEnabledState()
,JosmAction.initEnabledState()
,JosmAction.listenToSelectionChange()
-
getDeletedPrimitives
protected Set<OsmPrimitive> getDeletedPrimitives(DataSet ds)
-
getModifiedPrimitives
protected Set<OsmPrimitive> getModifiedPrimitives(Collection<OsmPrimitive> primitives)
-
actionPerformed
public void actionPerformed(ActionEvent e)
-
hasPrimitivesToDelete
protected boolean hasPrimitivesToDelete(Collection<OsmPrimitive> primitives)
Replies true if there is at least one non-new, deleted primitive inprimitives
- Parameters:
primitives
- the primitives to scan- Returns:
- true if there is at least one non-new, deleted primitive in
primitives
-
uploadPrimitives
public void uploadPrimitives(OsmDataLayer layer, Collection<OsmPrimitive> toUpload)
Uploads the primitives intoUpload
to the server. Only uploads primitives which are either new, modified or deleted. Also checks whethertoUpload
has to be extended with deleted parents in order to avoid precondition violations on the server.- Parameters:
layer
- the data layer from which we upload a subset of primitivestoUpload
- the primitives to upload. If null or empty returns immediatelly
-
processPostParentChecker
protected void processPostParentChecker(OsmDataLayer layer, Collection<OsmPrimitive> toUpload)
-
-