Class CustomConfigurator


  • public final class CustomConfigurator
    extends Object
    Class to process configuration changes stored in XML can be used to modify preferences, store/delete files in .josm folders etc
    • Field Detail

      • busy

        private static boolean busy
    • Method Detail

      • readXML

        public static void readXML​(String dir,
                                   String fileName)
        Read configuration script from XML file, modifying main preferences
        Parameters:
        dir - - directory
        fileName - - XML file name
      • readXML

        public static void readXML​(File file,
                                   Preferences prefs)
        Read configuration script from XML file, modifying given preferences object
        Parameters:
        file - - file to open for reading XML
        prefs - - arbitrary Preferences object to modify by script
      • readXML

        public static void readXML​(File file)
        Read configuration script from XML file, modifying main preferences
        Parameters:
        file - - file to open for reading XML
      • downloadFile

        public static void downloadFile​(String address,
                                        String path,
                                        String base)
        Downloads file to one of JOSM standard folders
        Parameters:
        address - - URL to download
        path - - file path relative to base where to put downloaded file
        base - - only "prefs", "cache" and "plugins" allowed for standard folders
      • downloadAndUnpackFile

        public static void downloadAndUnpackFile​(String address,
                                                 String path,
                                                 String base)
        Downloads file to one of JOSM standard folders and unpack it as ZIP/JAR file
        Parameters:
        address - - URL to download
        path - - file path relative to base where to put downloaded file
        base - - only "prefs", "cache" and "plugins" allowed for standard folders
      • processDownloadOperation

        public static void processDownloadOperation​(String address,
                                                    String path,
                                                    String parentDir,
                                                    boolean mkdir,
                                                    boolean unzip)
        Downloads file to arbitrary folder
        Parameters:
        address - - URL to download
        path - - file path relative to parentDir where to put downloaded file
        parentDir - - folder where to put file
        mkdir - - if true, non-existing directories will be created
        unzip - - if true file wil be unzipped and deleted after download
      • messageBox

        public static void messageBox​(String type,
                                      String text)
        Simple function to show messageBox, may be used from JS API and from other code
        Parameters:
        type - - 'i','w','e','q','p' for Information, Warning, Error, Question, Message
        text - - message to display, HTML allowed
      • askForOption

        public static int askForOption​(String text,
                                       String opts)
        Simple function for choose window, may be used from JS API and from other code
        Parameters:
        text - - message to show, HTML allowed
        opts - -
        Returns:
        number of pressed button, -1 if cancelled
      • exportPreferencesKeysToFile

        public static void exportPreferencesKeysToFile​(String filename,
                                                       boolean append,
                                                       String... keys)
        This function exports part of user preferences to specified file. Default values are not saved.
        Parameters:
        filename - - where to export
        append - - if true, resulting file cause appending to existing preferences
        keys - - which preferences keys you need to export ("imagery.entries", for example)
      • exportPreferencesKeysByPatternToFile

        public static void exportPreferencesKeysByPatternToFile​(String fileName,
                                                                boolean append,
                                                                String pattern)
        This function exports part of user preferences to specified file. Default values are not saved. Preference keys matching specified pattern are saved
        Parameters:
        fileName - - where to export
        append - - if true, resulting file cause appending to existing preferences
        pattern - - Regexp pattern for preferences keys you need to export (".*imagery.*", for example)
      • exportPreferencesKeysToFile

        public static void exportPreferencesKeysToFile​(String filename,
                                                       boolean append,
                                                       Collection<String> keys)
        Export specified preferences keys to configuration file
        Parameters:
        filename - - name of file
        append - - will the preferences be appended to existing ones when file is imported later. Elsewhere preferences from file will replace existing keys.
        keys - - collection of preferences key names to save