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:
java.awt.event.ActionListener
,java.io.Serializable
,java.lang.Cloneable
,java.util.EventListener
,javax.swing.Action
,DataSetListenerAdapter.Listener
,Destroyable
public class UploadSelectionAction extends AbstractUploadAction implements DataSetListenerAdapter.Listener
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 Modifier and Type Field Description private DataSetListenerAdapter
dataChangedAdapter
-
Fields inherited from class org.openstreetmap.josm.actions.JosmAction
sc
-
-
Constructor Summary
Constructors Constructor Description UploadSelectionAction()
Constructs a newUploadSelectionAction
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
actionPerformed(java.awt.event.ActionEvent e)
void
destroy()
Called when the object has been destroyed.protected java.util.Set<OsmPrimitive>
getDeletedPrimitives(DataSet ds)
protected java.util.Set<OsmPrimitive>
getModifiedPrimitives(java.util.Collection<OsmPrimitive> primitives)
protected boolean
hasPrimitivesToDelete(java.util.Collection<OsmPrimitive> primitives)
Replies true if there is at least one non-new, deleted primitive inprimitives
void
processDatasetEvent(AbstractDatasetChangedEvent event)
Called when notified about any type of dataset change event.protected void
processPostParentChecker(OsmDataLayer layer, java.util.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(java.util.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, java.util.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, 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
-
-
-
-
Field Detail
-
dataChangedAdapter
private final transient DataSetListenerAdapter dataChangedAdapter
-
-
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(java.util.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 java.util.Set<OsmPrimitive> getDeletedPrimitives(DataSet ds)
-
getModifiedPrimitives
protected java.util.Set<OsmPrimitive> getModifiedPrimitives(java.util.Collection<OsmPrimitive> primitives)
-
actionPerformed
public void actionPerformed(java.awt.event.ActionEvent e)
- Specified by:
actionPerformed
in interfacejava.awt.event.ActionListener
-
hasPrimitivesToDelete
protected boolean hasPrimitivesToDelete(java.util.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, java.util.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 immediately
-
processPostParentChecker
protected void processPostParentChecker(OsmDataLayer layer, java.util.Collection<OsmPrimitive> toUpload)
-
destroy
public void destroy()
Description copied from interface:Destroyable
Called when the object has been destroyed.- Specified by:
destroy
in interfaceDestroyable
- Overrides:
destroy
in classJosmAction
-
processDatasetEvent
public void processDatasetEvent(AbstractDatasetChangedEvent event)
Description copied from interface:DataSetListenerAdapter.Listener
Called when notified about any type of dataset change event.- Specified by:
processDatasetEvent
in interfaceDataSetListenerAdapter.Listener
- Parameters:
event
- dataset change event
-
-