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) classUploadSelectionAction.DeletedParentsChecker(package private) static classUploadSelectionAction.UploadHullBuilderComputes 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 DataSetListenerAdapterdataChangedAdapter-
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 voidactionPerformed(java.awt.event.ActionEvent e)voiddestroy()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 booleanhasPrimitivesToDelete(java.util.Collection<OsmPrimitive> primitives)Replies true if there is at least one non-new, deleted primitive inprimitivesvoidprocessDatasetEvent(AbstractDatasetChangedEvent event)Called when notified about any type of dataset change event.protected voidprocessPostParentChecker(OsmDataLayer layer, java.util.Collection<OsmPrimitive> toUpload)protected voidupdateEnabledState()Override in subclasses to update the enabled state of the action when something in the JOSM state changes, i.e.protected voidupdateEnabledState(java.util.Collection<? extends OsmPrimitive> selection)Override in subclasses to update the enabled state of the action if the collection of selected primitives changes.voiduploadPrimitives(OsmDataLayer layer, java.util.Collection<OsmPrimitive> toUpload)Uploads the primitives intoUploadto 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:JosmActionOverride 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:
updateEnabledStatein classJosmAction- See Also:
JosmAction.updateEnabledState(Collection),JosmAction.initEnabledState(),JosmAction.listenToLayerChange()
-
updateEnabledState
protected void updateEnabledState(java.util.Collection<? extends OsmPrimitive> selection)
Description copied from class:JosmActionOverride 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:
updateEnabledStatein 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:
actionPerformedin 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 intoUploadto the server. Only uploads primitives which are either new, modified or deleted. Also checks whethertoUploadhas 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:DestroyableCalled when the object has been destroyed.- Specified by:
destroyin interfaceDestroyable- Overrides:
destroyin classJosmAction
-
processDatasetEvent
public void processDatasetEvent(AbstractDatasetChangedEvent event)
Description copied from interface:DataSetListenerAdapter.ListenerCalled when notified about any type of dataset change event.- Specified by:
processDatasetEventin interfaceDataSetListenerAdapter.Listener- Parameters:
event- dataset change event
-
-