Class AddWayHandler
- java.lang.Object
-
- org.openstreetmap.josm.io.remotecontrol.handler.RequestHandler
-
- org.openstreetmap.josm.io.remotecontrol.handler.AddWayHandler
-
public class AddWayHandler extends RequestHandler
Adds a way to the current dataset. For instance,/add_way?way=lat1,lon2;lat2,lon2
.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.openstreetmap.josm.io.remotecontrol.handler.RequestHandler
RequestHandler.PermissionCache, RequestHandler.RawURLParseRequestHandler, RequestHandler.RequestHandlerBadRequestException, RequestHandler.RequestHandlerErrorException, RequestHandler.RequestHandlerException, RequestHandler.RequestHandlerForbiddenException, RequestHandler.RequestHandlerOsmApiException
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.Map<LatLon,Node>
addedNodes
The place to remember already added nodes (they are reused if needed @since 5845private java.util.List<LatLon>
allCoordinates
static java.lang.String
command
The remote control command name used to add a way.-
Fields inherited from class org.openstreetmap.josm.io.remotecontrol.handler.RequestHandler
args, content, contentType, GLOBAL_CONFIRMATION, LOAD_IN_NEW_LAYER, myCommand, OSM_DOWNLOAD_TIMEOUT, PERMISSIONS, request, sender, SPLITTER_COMMA, SPLITTER_SEMIC
-
-
Constructor Summary
Constructors Constructor Description AddWayHandler()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
addWay()
This function creates the way with given coordinates of nodes(package private) Node
findOrCreateNode(LatLon ll, java.util.List<Command> commands)
Find the node with almost the same coords in dataset or in already added nodesjava.lang.String[]
getMandatoryParams()
Returns the mandatory parameters.java.lang.String[]
getOptionalParams()
Returns the optional parameters.java.lang.String
getPermissionMessage()
Get a specific message to ask the user for permission for the operation requested via remote control.PermissionPrefWithDefault
getPermissionPref()
Get a PermissionPref object containing the name of a special permission preference to individually allow the requested operation and an error message to be displayed when a disabled operation is requested.java.lang.String
getUsage()
Returns usage description, for bad requests and documentation.java.lang.String[]
getUsageExamples()
Returns usage examples, for bad requests and documentation.protected void
handleRequest()
Handle a specific command sent as remote control.protected void
validateRequest()
Validates the request before attempting to perform it.-
Methods inherited from class org.openstreetmap.josm.io.remotecontrol.handler.RequestHandler
checkMandatoryParams, checkPermission, getCommand, getContent, getContentType, getDownloadParams, getRequestParameter, getUsageExamples, handle, parseArgs, setCommand, setSender, setUrl, splitArg, validateDownloadParams
-
-
-
-
Field Detail
-
command
public static final java.lang.String command
The remote control command name used to add a way.- See Also:
- Constant Field Values
-
allCoordinates
private final java.util.List<LatLon> allCoordinates
-
addedNodes
private java.util.Map<LatLon,Node> addedNodes
The place to remember already added nodes (they are reused if needed @since 5845
-
-
Constructor Detail
-
AddWayHandler
public AddWayHandler()
-
-
Method Detail
-
getMandatoryParams
public java.lang.String[] getMandatoryParams()
Description copied from class:RequestHandler
Returns the mandatory parameters. Both used to enforce their presence at runtime and for documentation.- Specified by:
getMandatoryParams
in classRequestHandler
- Returns:
- the mandatory parameters
-
getOptionalParams
public java.lang.String[] getOptionalParams()
Description copied from class:RequestHandler
Returns the optional parameters. Both used to enforce their presence at runtime and for documentation.- Overrides:
getOptionalParams
in classRequestHandler
- Returns:
- the optional parameters
-
getUsage
public java.lang.String getUsage()
Description copied from class:RequestHandler
Returns usage description, for bad requests and documentation.- Overrides:
getUsage
in classRequestHandler
- Returns:
- usage description
-
getUsageExamples
public java.lang.String[] getUsageExamples()
Description copied from class:RequestHandler
Returns usage examples, for bad requests and documentation.- Overrides:
getUsageExamples
in classRequestHandler
- Returns:
- Usage examples
-
handleRequest
protected void handleRequest() throws RequestHandler.RequestHandlerErrorException, RequestHandler.RequestHandlerBadRequestException
Description copied from class:RequestHandler
Handle a specific command sent as remote control. Any time-consuming operation must be performed asynchronously to avoid delaying the HTTP response.This method of the subclass will do the real work.
- Specified by:
handleRequest
in classRequestHandler
- Throws:
RequestHandler.RequestHandlerErrorException
- if an error occurs while processing requestRequestHandler.RequestHandlerBadRequestException
- if request is invalid
-
getPermissionMessage
public java.lang.String getPermissionMessage()
Description copied from class:RequestHandler
Get a specific message to ask the user for permission for the operation requested via remote control.This message will be displayed to the user if the preference remotecontrol.always-confirm is true.
- Specified by:
getPermissionMessage
in classRequestHandler
- Returns:
- the message
-
getPermissionPref
public PermissionPrefWithDefault getPermissionPref()
Description copied from class:RequestHandler
Get a PermissionPref object containing the name of a special permission preference to individually allow the requested operation and an error message to be displayed when a disabled operation is requested.Default is not to check any special preference. Override this in a subclass to define permission preference and error message.
- Specified by:
getPermissionPref
in classRequestHandler
- Returns:
- the preference name and error message or null
-
validateRequest
protected void validateRequest() throws RequestHandler.RequestHandlerBadRequestException
Description copied from class:RequestHandler
Validates the request before attempting to perform it.- Specified by:
validateRequest
in classRequestHandler
- Throws:
RequestHandler.RequestHandlerBadRequestException
- if request is invalid
-
findOrCreateNode
Node findOrCreateNode(LatLon ll, java.util.List<Command> commands)
Find the node with almost the same coords in dataset or in already added nodes- Parameters:
ll
- coordinatescommands
- list of commands that will be modified if needed- Returns:
- node with almost the same coords
- Since:
- 5845
-
addWay
private void addWay()
This function creates the way with given coordinates of nodes
-
-