001    package org.openstreetmap.josm.io.remotecontrol.handler;
002    
003    import java.io.File;
004    import java.util.Arrays;
005    import org.openstreetmap.josm.actions.OpenFileAction;
006    import org.openstreetmap.josm.io.remotecontrol.PermissionPrefWithDefault;
007    import static org.openstreetmap.josm.tools.I18n.tr;
008    
009    public class OpenFileHandler extends RequestHandler {
010    
011        public static final String command = "open_file";
012    
013        @Override
014        public String[] getMandatoryParams() {
015            return new String[]{"filename"};
016        }
017    
018        @Override
019        public PermissionPrefWithDefault getPermissionPref() {
020            return PermissionPrefWithDefault.OPEN_FILES;
021        }
022    
023        @Override
024        protected void handleRequest() throws RequestHandlerErrorException, RequestHandlerBadRequestException {
025            OpenFileAction.openFiles(Arrays.asList(new File(args.get("filename"))));
026        }
027    
028        @Override
029        public String getPermissionMessage() {
030            return tr("Remote Control has been asked to open a local file.");
031        }
032    }