001    // License: GPL. For details, see LICENSE file.
002    package org.openstreetmap.josm.io.remotecontrol.handler;
003    
004    import static org.openstreetmap.josm.tools.I18n.tr;
005    
006    import org.openstreetmap.josm.io.remotecontrol.PermissionPrefWithDefault;
007    import org.openstreetmap.josm.io.remotecontrol.RequestProcessor;
008    
009    /**
010     * Handler for version request.
011     */
012    public class VersionHandler extends RequestHandler {
013    
014        public static final String command = "version";
015    
016        @Override
017        protected void handleRequest() throws RequestHandlerErrorException,
018                RequestHandlerBadRequestException {
019            content = RequestProcessor.PROTOCOLVERSION;
020            contentType = "application/json";
021            if (args.containsKey("jsonp")) {
022                content = args.get("jsonp") + " && " + args.get("jsonp") + "(" + content + ")";
023            }
024        }
025    
026        @Override
027        public String getPermissionMessage() {
028            return tr("Remote Control has been asked to report its protocol version. This enables web sites to detect a running JOSM.");
029        }
030    
031        @Override
032        public PermissionPrefWithDefault getPermissionPref() {
033            return PermissionPrefWithDefault.READ_PROTOCOL_VERSION;
034        }
035    
036        @Override
037        public String[] getMandatoryParams() {
038            return null;
039        }
040    }