Changeset 14119 in josm for trunk/src


Ignore:
Timestamp:
2018-08-11T16:10:32+02:00 (6 years ago)
Author:
Don-vip
Message:

see #15229 - deprecate all Main methods returning an URL

Location:
trunk/src/org/openstreetmap/josm
Files:
2 added
44 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/Main.java

    r13926 r14119  
    4040import org.openstreetmap.josm.io.FileWatcher;
    4141import org.openstreetmap.josm.io.OnlineResource;
    42 import org.openstreetmap.josm.io.OsmApi;
    4342import org.openstreetmap.josm.spi.preferences.Config;
     43import org.openstreetmap.josm.spi.preferences.IUrls;
    4444import org.openstreetmap.josm.tools.CheckParameterUtil;
    4545import org.openstreetmap.josm.tools.ImageProvider;
     
    5858 */
    5959public abstract class Main {
    60 
    61     /**
    62      * The JOSM website URL.
    63      * @since 6897 (was public from 6143 to 6896)
    64      */
    65     private static final String JOSM_WEBSITE = "https://josm.openstreetmap.de";
    66 
    67     /**
    68      * The OSM website URL.
    69      * @since 6897 (was public from 6453 to 6896)
    70      */
    71     private static final String OSM_WEBSITE = "https://www.openstreetmap.org";
    7260
    7361    /**
     
    539527     * Returns the JOSM website URL.
    540528     * @return the josm website URL
     529     * @deprecated Use {@link IUrls#getJOSMWebsite}
    541530     * @since 6897
    542531     */
     532    @Deprecated
    543533    public static String getJOSMWebsite() {
    544         if (Config.getPref() != null)
    545             return Config.getPref().get("josm.url", JOSM_WEBSITE);
    546         return JOSM_WEBSITE;
     534        return Config.getUrls().getJOSMWebsite();
    547535    }
    548536
     
    550538     * Returns the JOSM XML URL.
    551539     * @return the josm XML URL
     540     * @deprecated Use {@link IUrls#getXMLBase}
    552541     * @since 6897
    553542     */
     543    @Deprecated
    554544    public static String getXMLBase() {
    555         // Always return HTTP (issues reported with HTTPS)
    556         return "http://josm.openstreetmap.de";
     545        return Config.getUrls().getXMLBase();
    557546    }
    558547
     
    560549     * Returns the OSM website URL.
    561550     * @return the OSM website URL
     551     * @deprecated Use {@link IUrls#getOSMWebsite}
    562552     * @since 6897
    563553     */
     554    @Deprecated
    564555    public static String getOSMWebsite() {
    565         if (Config.getPref() != null)
    566             return Config.getPref().get("osm.url", OSM_WEBSITE);
    567         return OSM_WEBSITE;
    568     }
    569 
    570     /**
    571      * Returns the OSM website URL depending on the selected {@link OsmApi}.
    572      * @return the OSM website URL depending on the selected {@link OsmApi}
    573      */
    574     private static String getOSMWebsiteDependingOnSelectedApi() {
    575         final String api = OsmApi.getOsmApi().getServerUrl();
    576         if (OsmApi.DEFAULT_API_URL.equals(api)) {
    577             return getOSMWebsite();
    578         } else {
    579             return api.replaceAll("/api$", "");
    580         }
     556        return Config.getUrls().getOSMWebsite();
    581557    }
    582558
     
    584560     * Replies the base URL for browsing information about a primitive.
    585561     * @return the base URL, i.e. https://www.openstreetmap.org
     562     * @deprecated Use {@link IUrls#getBaseBrowseUrl}
    586563     * @since 7678
    587564     */
     565    @Deprecated
    588566    public static String getBaseBrowseUrl() {
    589         if (Config.getPref() != null)
    590             return Config.getPref().get("osm-browse.url", getOSMWebsiteDependingOnSelectedApi());
    591         return getOSMWebsiteDependingOnSelectedApi();
     567        return Config.getUrls().getBaseBrowseUrl();
    592568    }
    593569
     
    595571     * Replies the base URL for browsing information about a user.
    596572     * @return the base URL, i.e. https://www.openstreetmap.org/user
     573     * @deprecated Use {@link IUrls#getBaseUserUrl}
    597574     * @since 7678
    598575     */
     576    @Deprecated
    599577    public static String getBaseUserUrl() {
    600         if (Config.getPref() != null)
    601             return Config.getPref().get("osm-user.url", getOSMWebsiteDependingOnSelectedApi() + "/user");
    602         return getOSMWebsiteDependingOnSelectedApi() + "/user";
     578        return Config.getUrls().getBaseUserUrl();
    603579    }
    604580
  • trunk/src/org/openstreetmap/josm/actions/AboutAction.java

    r14107 r14119  
    3333import org.openstreetmap.josm.gui.widgets.UrlLabel;
    3434import org.openstreetmap.josm.plugins.PluginHandler;
     35import org.openstreetmap.josm.spi.preferences.Config;
    3536import org.openstreetmap.josm.tools.GBC;
    3637import org.openstreetmap.josm.tools.ImageProvider;
     
    100101        info.add(label, GBC.eol().fill(GBC.HORIZONTAL).insets(10, 0, 0, 10));
    101102        info.add(new JLabel(tr("Homepage")), GBC.std().insets(10, 0, 10, 0));
    102         info.add(new UrlLabel(Main.getJOSMWebsite(), 2), GBC.eol());
     103        info.add(new UrlLabel(Config.getUrls().getJOSMWebsite(), 2), GBC.eol());
    103104        info.add(new JLabel(tr("Translations")), GBC.std().insets(10, 0, 10, 0));
    104105        info.add(new UrlLabel("https://translations.launchpad.net/josm", 2), GBC.eol());
  • trunk/src/org/openstreetmap/josm/actions/HistoryInfoWebAction.java

    r13954 r14119  
    77import java.awt.event.KeyEvent;
    88
    9 import org.openstreetmap.josm.Main;
    109import org.openstreetmap.josm.data.osm.IPrimitive;
    1110import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
     11import org.openstreetmap.josm.spi.preferences.Config;
    1212import org.openstreetmap.josm.tools.Shortcut;
    1313
     
    3434        if (infoObject instanceof IPrimitive) {
    3535            IPrimitive primitive = (IPrimitive) infoObject;
    36             return Main.getBaseBrowseUrl() + '/' + OsmPrimitiveType.from(primitive).getAPIName() + '/' + primitive.getOsmId() + "/history";
     36            return Config.getUrls().getBaseBrowseUrl()
     37                    + '/' + OsmPrimitiveType.from(primitive).getAPIName() + '/' + primitive.getOsmId() + "/history";
    3738        } else {
    3839            return null;
  • trunk/src/org/openstreetmap/josm/actions/InfoWebAction.java

    r13954 r14119  
    88import java.util.Collection;
    99
    10 import org.openstreetmap.josm.Main;
    1110import org.openstreetmap.josm.data.notes.Note;
    1211import org.openstreetmap.josm.data.osm.IPrimitive;
     
    1413import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
    1514import org.openstreetmap.josm.gui.MainApplication;
     15import org.openstreetmap.josm.spi.preferences.Config;
    1616import org.openstreetmap.josm.tools.Shortcut;
    1717
     
    3838        if (infoObject instanceof IPrimitive) {
    3939            IPrimitive primitive = (IPrimitive) infoObject;
    40             return Main.getBaseBrowseUrl() + '/' + OsmPrimitiveType.from(primitive).getAPIName() + '/' + primitive.getOsmId();
     40            return Config.getUrls().getBaseBrowseUrl() + '/' + OsmPrimitiveType.from(primitive).getAPIName() + '/' + primitive.getOsmId();
    4141        } else if (infoObject instanceof Note) {
    4242            Note note = (Note) infoObject;
    43             return Main.getBaseBrowseUrl() + "/note/" + note.getId();
     43            return Config.getUrls().getBaseBrowseUrl() + "/note/" + note.getId();
    4444        } else {
    4545            return null;
  • trunk/src/org/openstreetmap/josm/actions/ShowStatusReportAction.java

    r13647 r14119  
    198198
    199199        String osmApi = OsmApi.getOsmApi().getServerUrl();
    200         if (!OsmApi.DEFAULT_API_URL.equals(osmApi.trim())) {
     200        if (!Config.getUrls().getDefaultOsmApiUrl().equals(osmApi.trim())) {
    201201            text.append("OSM API: ").append(osmApi).append("\n\n");
    202202        }
  • trunk/src/org/openstreetmap/josm/data/Preferences.java

    r14014 r14119  
    715715     */
    716716    public Collection<String> getPluginSites() {
    717         return getList("pluginmanager.sites", Collections.singletonList(Main.getJOSMWebsite()+"/pluginicons%<?plugins=>"));
     717        return getList("pluginmanager.sites", Collections.singletonList(Config.getUrls().getJOSMWebsite()+"/pluginicons%<?plugins=>"));
    718718    }
    719719
     
    727727        for (Iterator<String> it = pluginSites.iterator(); it.hasNext();) {
    728728            try {
    729                 OnlineResource.JOSM_WEBSITE.checkOfflineAccess(it.next(), Main.getJOSMWebsite());
     729                OnlineResource.JOSM_WEBSITE.checkOfflineAccess(it.next(), Config.getUrls().getJOSMWebsite());
    730730            } catch (OfflineAccessException ex) {
    731731                Logging.log(Logging.LEVEL_WARN, ex);
  • trunk/src/org/openstreetmap/josm/data/gpx/GpxConstants.java

    r12186 r14119  
    77import java.util.List;
    88
    9 import org.openstreetmap.josm.Main;
    109import org.openstreetmap.josm.data.Bounds;
     10import org.openstreetmap.josm.spi.preferences.Config;
    1111
    1212/**
     
    103103     * A namespace for josm GPX extensions
    104104     */
    105     String JOSM_EXTENSIONS_NAMESPACE_URI = Main.getXMLBase() + "/gpx-extensions-1.0";
     105    String JOSM_EXTENSIONS_NAMESPACE_URI = Config.getUrls().getXMLBase() + "/gpx-extensions-1.0";
    106106
    107107    /** Elevation (in meters) of the point. */
  • trunk/src/org/openstreetmap/josm/data/imagery/ImageryLayerInfo.java

    r13890 r14119  
    1818import java.util.concurrent.ExecutorService;
    1919
    20 import org.openstreetmap.josm.Main;
    2120import org.openstreetmap.josm.data.StructUtils;
    2221import org.openstreetmap.josm.data.imagery.ImageryInfo.ImageryPreferenceEntry;
     
    5049
    5150    private static final String[] DEFAULT_LAYER_SITES = {
    52         Main.getJOSMWebsite()+"/maps%<?ids=>"
     51            Config.getUrls().getJOSMWebsite()+"/maps%<?ids=>"
    5352    };
    5453
     
    162161            boolean online = true;
    163162            try {
    164                 OnlineResource.JOSM_WEBSITE.checkOfflineAccess(source, Main.getJOSMWebsite());
     163                OnlineResource.JOSM_WEBSITE.checkOfflineAccess(source, Config.getUrls().getJOSMWebsite());
    165164            } catch (OfflineAccessException e) {
    166165                Logging.log(Logging.LEVEL_WARN, e);
  • trunk/src/org/openstreetmap/josm/data/oauth/OAuthParameters.java

    r13173 r14119  
    44import java.util.Objects;
    55
    6 import org.openstreetmap.josm.Main;
    76import org.openstreetmap.josm.io.OsmApi;
    87import org.openstreetmap.josm.spi.preferences.Config;
     
    5655        }
    5756
    58         if (apiUrl != null && !OsmApi.DEFAULT_API_URL.equals(apiUrl)) {
     57        if (apiUrl != null && !Config.getUrls().getDefaultOsmApiUrl().equals(apiUrl)) {
    5958            consumerKey = ""; // a custom consumer key is required
    6059            consumerSecret = ""; // a custom consumer secret is requireds
     
    6362            consumerKey = DEFAULT_JOSM_CONSUMER_KEY;
    6463            consumerSecret = DEFAULT_JOSM_CONSUMER_SECRET;
    65             serverUrl = Main.getOSMWebsite();
     64            serverUrl = Config.getUrls().getOSMWebsite();
    6665        }
    6766
  • trunk/src/org/openstreetmap/josm/data/osm/DataSet.java

    r14001 r14119  
    5555import org.openstreetmap.josm.data.projection.ProjectionChangeListener;
    5656import org.openstreetmap.josm.gui.progress.ProgressMonitor;
     57import org.openstreetmap.josm.spi.preferences.Config;
    5758import org.openstreetmap.josm.tools.ListenerList;
    5859import org.openstreetmap.josm.tools.Logging;
     
    772773                    "JOSM expected to find primitive [{0} {1}] in dataset but it is not there. Please report this "
    773774                            + "at {2}. This is not a critical error, it should be safe to continue in your work.",
    774                     primitiveId.getType(), Long.toString(primitiveId.getUniqueId()), Main.getJOSMWebsite()));
     775                    primitiveId.getType(), Long.toString(primitiveId.getUniqueId()), Config.getUrls().getJOSMWebsite()));
    775776            Logging.error(new Exception());
    776777        }
  • trunk/src/org/openstreetmap/josm/data/preferences/PreferencesWriter.java

    r12881 r14119  
    99import java.util.stream.Stream;
    1010
    11 import org.openstreetmap.josm.Main;
    1211import org.openstreetmap.josm.data.Version;
    1312import org.openstreetmap.josm.io.XmlWriter;
    14 import org.openstreetmap.josm.spi.preferences.Setting;
     13import org.openstreetmap.josm.spi.preferences.Config;
    1514import org.openstreetmap.josm.spi.preferences.ListListSetting;
    16 import org.openstreetmap.josm.spi.preferences.SettingVisitor;
    1715import org.openstreetmap.josm.spi.preferences.ListSetting;
    1816import org.openstreetmap.josm.spi.preferences.MapListSetting;
     17import org.openstreetmap.josm.spi.preferences.Setting;
     18import org.openstreetmap.josm.spi.preferences.SettingVisitor;
    1919import org.openstreetmap.josm.spi.preferences.StringSetting;
    2020
     
    5757        out.write(String.format("<?xml version=\"1.0\" encoding=\"UTF-8\"?>%n"));
    5858        String rootElement = defaults ? "preferences-defaults" : "preferences";
    59         out.write(String.format("<%s xmlns='%s/preferences-1.0'", rootElement, Main.getXMLBase()));
     59        out.write(String.format("<%s xmlns='%s/preferences-1.0'", rootElement, Config.getUrls().getXMLBase()));
    6060        if (defaults) {
    6161            out.write(" xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'");
  • trunk/src/org/openstreetmap/josm/gui/GettingStarted.java

    r13647 r14119  
    1919import javax.swing.event.HyperlinkListener;
    2020
    21 import org.openstreetmap.josm.Main;
    2221import org.openstreetmap.josm.actions.DownloadPrimitiveAction;
    2322import org.openstreetmap.josm.data.Version;
     
    105104        @Override
    106105        protected void checkOfflineAccess() {
    107             OnlineResource.JOSM_WEBSITE.checkOfflineAccess(new WikiReader().getBaseUrlWiki(), Main.getJOSMWebsite());
     106            OnlineResource.JOSM_WEBSITE.checkOfflineAccess(new WikiReader().getBaseUrlWiki(), Config.getUrls().getJOSMWebsite());
    108107        }
    109108
  • trunk/src/org/openstreetmap/josm/gui/MainApplication.java

    r14118 r14119  
    100100import org.openstreetmap.josm.data.osm.search.SearchMode;
    101101import org.openstreetmap.josm.data.preferences.JosmBaseDirectories;
     102import org.openstreetmap.josm.data.preferences.JosmUrls;
    102103import org.openstreetmap.josm.data.preferences.sources.SourceType;
    103104import org.openstreetmap.josm.data.projection.ProjectionCLI;
     
    298299     */
    299300    public static final NTV2GridShiftFileSource JOSM_WEBSITE_NTV2_SOURCE = gridFileName -> {
    300         String location = Main.getJOSMWebsite() + "/proj/" + gridFileName;
     301        String location = Config.getUrls().getJOSMWebsite() + "/proj/" + gridFileName;
    301302        // Try to load grid file
    302303        CachedFile cf = new CachedFile(location);
     
    918919        Config.setPreferencesInstance(Main.pref);
    919920        Config.setBaseDirectoriesProvider(JosmBaseDirectories.getInstance());
     921        Config.setUrlsProvider(JosmUrls.getInstance());
    920922
    921923        if (args.showVersion()) {
     
    15661568                    userInfo.getUnreadMessages(), userInfo.getUnreadMessages())),
    15671569                    GBC.eol());
    1568             panel.add(new UrlLabel(Main.getBaseUserUrl() + '/' + userInfo.getDisplayName() + "/inbox",
     1570            panel.add(new UrlLabel(Config.getUrls().getBaseUserUrl() + '/' + userInfo.getDisplayName() + "/inbox",
    15691571                    tr("Click here to see your inbox.")), GBC.eol());
    15701572            panel.setOpaque(false);
  • trunk/src/org/openstreetmap/josm/gui/bugreport/BugReportDialog.java

    r13761 r14119  
    3030import org.openstreetmap.josm.plugins.PluginDownloadTask;
    3131import org.openstreetmap.josm.plugins.PluginHandler;
     32import org.openstreetmap.josm.spi.preferences.Config;
    3233import org.openstreetmap.josm.tools.GBC;
    3334import org.openstreetmap.josm.tools.ImageProvider;
     
    7475                        tr("Opening the bug report failed. Please report manually using this website:")),
    7576                        GBC.eol().fill(GridBagConstraints.HORIZONTAL));
    76                 errorPanel.add(new UrlLabel(Main.getJOSMWebsite() + "/newticket", 2), GBC.eop().insets(8, 0, 0, 0));
     77                errorPanel.add(new UrlLabel(Config.getUrls().getJOSMWebsite() + "/newticket", 2), GBC.eop().insets(8, 0, 0, 0));
    7778                errorPanel.add(new DebugTextDisplay(statusText));
    7879
     
    142143
    143144        panel.add(new JLabel(tr("Manually report at:")+' '), GBC.std());
    144         panel.add(new UrlLabel(Main.getJOSMWebsite() + "/newticket"), GBC.std().fill(GBC.HORIZONTAL));
     145        panel.add(new UrlLabel(Config.getUrls().getJOSMWebsite() + "/newticket"), GBC.std().fill(GBC.HORIZONTAL));
    145146        JButton copy = new JButton("Copy to clipboard");
    146147        copy.addActionListener(e -> textPanel.copyToClipboard());
  • trunk/src/org/openstreetmap/josm/gui/bugreport/JosmUpdatePanel.java

    r13647 r14119  
    1717import org.openstreetmap.josm.gui.widgets.UrlLabel;
    1818import org.openstreetmap.josm.io.CachedFile;
     19import org.openstreetmap.josm.spi.preferences.Config;
    1920import org.openstreetmap.josm.tools.GBC;
    2021import org.openstreetmap.josm.tools.ImageProvider;
     
    6162
    6263    private static int getTestedVersion() {
    63         try (CachedFile testedVersion = new CachedFile(Main.getJOSMWebsite() + "/tested")) {
     64        try (CachedFile testedVersion = new CachedFile(Config.getUrls().getJOSMWebsite() + "/tested")) {
    6465            testedVersion.setMaxAge(60L * 15); // 15 Minutes
    6566            String testedString = new String(testedVersion.getByteContent(), StandardCharsets.ISO_8859_1);
     
    9192    private void showUpdateButton() {
    9293        add(new JMultilineLabel(tr("Before you file a bug report make sure you have updated to the latest version of JOSM here:")), GBC.eol());
    93         add(new UrlLabel(Main.getJOSMWebsite(), 2), GBC.eop().insets(8, 0, 0, 0));
     94        add(new UrlLabel(Config.getUrls().getJOSMWebsite(), 2), GBC.eop().insets(8, 0, 0, 0));
    9495        JButton updateButton = new JButton(tr("Update JOSM"), ImageProvider.getIfAvailable("download"));
    9596        updateButton.addActionListener(e -> openJosmUpdateSite());
     
    99100    private static void openJosmUpdateSite() {
    100101        try {
    101             Main.platform.openUrl(Main.getJOSMWebsite());
     102            Main.platform.openUrl(Config.getUrls().getJOSMWebsite());
    102103        } catch (IOException ex) {
    103104            Logging.log(Logging.LEVEL_WARN, "Unable to access JOSM website:", ex);
  • trunk/src/org/openstreetmap/josm/gui/dialogs/ChangesetDialog.java

    r13761 r14119  
    429429            if (sel.size() > 10 && !AbstractInfoAction.confirmLaunchMultiple(sel.size()))
    430430                return;
    431             String baseUrl = Main.getBaseBrowseUrl();
     431            String baseUrl = Config.getUrls().getBaseBrowseUrl();
    432432            for (Changeset cs: sel) {
    433433                OpenBrowser.displayUrl(baseUrl + "/changeset/" + cs.getId());
  • trunk/src/org/openstreetmap/josm/gui/dialogs/NotesDialog.java

    r12734 r14119  
    4747import org.openstreetmap.josm.gui.layer.LayerManager.LayerRemoveEvent;
    4848import org.openstreetmap.josm.gui.layer.NoteLayer;
     49import org.openstreetmap.josm.spi.preferences.Config;
    4950import org.openstreetmap.josm.tools.ImageProvider;
    5051import org.openstreetmap.josm.tools.OpenBrowser;
     
    432433            final Note note = displayList.getSelectedValue();
    433434            if (note.getId() > 0) {
    434                 final String url = Main.getBaseBrowseUrl() + "/note/" + note.getId();
     435                final String url = Config.getUrls().getBaseBrowseUrl() + "/note/" + note.getId();
    435436                OpenBrowser.displayUrl(url);
    436437            }
  • trunk/src/org/openstreetmap/josm/gui/dialogs/UserListDialog.java

    r13926 r14119  
    3131import javax.swing.table.DefaultTableModel;
    3232
    33 import org.openstreetmap.josm.Main;
    3433import org.openstreetmap.josm.actions.AbstractInfoAction;
    3534import org.openstreetmap.josm.data.osm.DataSelectionListener;
     
    4847import org.openstreetmap.josm.gui.util.GuiHelper;
    4948import org.openstreetmap.josm.gui.widgets.PopupMenuLauncher;
     49import org.openstreetmap.josm.spi.preferences.Config;
    5050import org.openstreetmap.josm.tools.ImageProvider;
    5151import org.openstreetmap.josm.tools.Logging;
     
    237237            if (infoObject instanceof User) {
    238238                User user = (User) infoObject;
    239                 return Main.getBaseUserUrl() + '/' + Utils.encodeUrl(user.getName()).replaceAll("\\+", "%20");
     239                return Config.getUrls().getBaseUserUrl() + '/' + Utils.encodeUrl(user.getName()).replaceAll("\\+", "%20");
    240240            } else {
    241241                return null;
  • trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/query/UrlBasedQueryPanel.java

    r13617 r14119  
    2323import javax.swing.event.HyperlinkEvent;
    2424
    25 import org.openstreetmap.josm.Main;
    2625import org.openstreetmap.josm.gui.widgets.HtmlPanel;
    2726import org.openstreetmap.josm.gui.widgets.JosmTextField;
     
    2928import org.openstreetmap.josm.io.ChangesetQuery.ChangesetQueryUrlException;
    3029import org.openstreetmap.josm.io.OsmApi;
     30import org.openstreetmap.josm.spi.preferences.Config;
    3131import org.openstreetmap.josm.tools.ImageProvider;
    3232import org.openstreetmap.josm.tools.Logging;
     
    8080    protected static List<String> getExamples() {
    8181        return Arrays.asList(
    82                 Main.getOSMWebsite()+"/history?open=true",
     82                Config.getUrls().getOSMWebsite()+"/history?open=true",
    8383                OsmApi.getOsmApi().getBaseUrl()+"/changesets?open=true");
    8484    }
  • trunk/src/org/openstreetmap/josm/gui/download/OverpassQueryWizardDialog.java

    r13930 r14119  
    2020import javax.swing.text.JTextComponent;
    2121
    22 import org.openstreetmap.josm.Main;
    2322import org.openstreetmap.josm.data.preferences.ListProperty;
    2423import org.openstreetmap.josm.gui.ExtendedDialog;
     
    2625import org.openstreetmap.josm.gui.util.GuiHelper;
    2726import org.openstreetmap.josm.gui.widgets.HistoryComboBox;
     27import org.openstreetmap.josm.spi.preferences.Config;
    2828import org.openstreetmap.josm.tools.GBC;
    2929import org.openstreetmap.josm.tools.Logging;
     
    196196                .append(tr("The <i>Query Wizard</i> tool will transform those to a valid overpass query."))
    197197                .append(tr("For more detailed description see "))
    198                 .append(tr("<a href=\"{0}\">OSM Wiki</a>.", Main.getOSMWebsite() + "/wiki/Overpass_turbo/Wizard"))
     198                .append(tr("<a href=\"{0}\">OSM Wiki</a>.", Config.getUrls().getOSMWebsite() + "/wiki/Overpass_turbo/Wizard"))
    199199                .append("</p>")
    200200                .append(HEADLINE_START).append(tr("Hints")).append(HEADLINE_END)
  • trunk/src/org/openstreetmap/josm/gui/help/HelpUtil.java

    r12846 r14119  
    1111import javax.swing.KeyStroke;
    1212
    13 import org.openstreetmap.josm.Main;
    1413import org.openstreetmap.josm.actions.HelpAction;
    1514import org.openstreetmap.josm.gui.MainApplication;
     
    3433     */
    3534    public static String getWikiBaseUrl() {
    36         return Config.getPref().get("help.baseurl", Main.getJOSMWebsite());
     35        return Config.getPref().get("help.baseurl", Config.getUrls().getJOSMWebsite());
    3736    }
    3837
  • trunk/src/org/openstreetmap/josm/gui/history/OpenChangesetPopupMenu.java

    r13043 r14119  
    1515import javax.swing.JPopupMenu;
    1616
    17 import org.openstreetmap.josm.Main;
    1817import org.openstreetmap.josm.data.StructUtils;
    1918import org.openstreetmap.josm.data.StructUtils.StructEntry;
     
    5251
    5352    private static final List<ChangesetViewerEntry> DEFAULT_ENTRIES = Arrays.asList(
    54             new ChangesetViewerEntry(tr("View changeset in web browser"), Main.getBaseBrowseUrl() + "/changeset/{0}"),
     53            new ChangesetViewerEntry(tr("View changeset in web browser"), Config.getUrls().getBaseBrowseUrl() + "/changeset/{0}"),
    5554            new ChangesetViewerEntry(tr("Open {0}", "achavi (Augmented OSM Change Viewer)"), "https://overpass-api.de/achavi/?changeset={0}"),
    5655            new ChangesetViewerEntry(tr("Open {0}", "OSMCha (OSM Changeset Analyzer)"), "https://osmcha.mapbox.com/changesets/{0}"),
  • trunk/src/org/openstreetmap/josm/gui/history/VersionInfoPanel.java

    r13853 r14119  
    2626import javax.swing.plaf.basic.BasicArrowButton;
    2727
    28 import org.openstreetmap.josm.Main;
    2928import org.openstreetmap.josm.data.UserIdentityManager;
    3029import org.openstreetmap.josm.data.osm.Changeset;
     
    3938import org.openstreetmap.josm.gui.widgets.JMultilineLabel;
    4039import org.openstreetmap.josm.gui.widgets.UrlLabel;
     40import org.openstreetmap.josm.spi.preferences.Config;
    4141import org.openstreetmap.josm.tools.CheckParameterUtil;
    4242import org.openstreetmap.josm.tools.GBC;
     
    215215
    216216    protected static String getUserUrl(String username) {
    217         return Main.getBaseUserUrl() + '/' + Utils.encodeUrl(username).replaceAll("\\+", "%20");
     217        return Config.getUrls().getBaseUserUrl() + '/' + Utils.encodeUrl(username).replaceAll("\\+", "%20");
    218218    }
    219219
     
    248248        if (!isLatest && cs != null) {
    249249            User user = cs.getUser();
    250             String url = Main.getBaseBrowseUrl() + "/changeset/" + cs.getId();
     250            String url = Config.getUrls().getBaseBrowseUrl() + "/changeset/" + cs.getId();
    251251            lblChangeset.setUrl(url);
    252252            lblChangeset.setDescription(Long.toString(cs.getId()));
  • trunk/src/org/openstreetmap/josm/gui/history/VersionTable.java

    r13130 r14119  
    2727import javax.swing.table.TableCellRenderer;
    2828
    29 import org.openstreetmap.josm.Main;
    3029import org.openstreetmap.josm.actions.AbstractInfoAction;
    3130import org.openstreetmap.josm.data.osm.User;
     
    162161            if (infoObject instanceof HistoryOsmPrimitive) {
    163162                HistoryOsmPrimitive prim = (HistoryOsmPrimitive) infoObject;
    164                 return Main.getBaseBrowseUrl() + "/changeset/" + prim.getChangesetId();
     163                return Config.getUrls().getBaseBrowseUrl() + "/changeset/" + prim.getChangesetId();
    165164            } else {
    166165                return null;
     
    199198            if (infoObject instanceof HistoryOsmPrimitive) {
    200199                HistoryOsmPrimitive hp = (HistoryOsmPrimitive) infoObject;
    201                 return hp.getUser() == null ? null : Main.getBaseUserUrl() + '/' + hp.getUser().getName();
     200                return hp.getUser() == null ? null : Config.getUrls().getBaseUserUrl() + '/' + hp.getUser().getName();
    202201            } else {
    203202                return null;
  • trunk/src/org/openstreetmap/josm/gui/io/UploadPrimitivesTask.java

    r13842 r14119  
    4040import org.openstreetmap.josm.io.OsmTransferException;
    4141import org.openstreetmap.josm.io.UploadStrategySpecification;
     42import org.openstreetmap.josm.spi.preferences.Config;
    4243import org.openstreetmap.josm.tools.ImageProvider;
    4344import org.openstreetmap.josm.tools.Logging;
     
    342343            if (lastException == null) {
    343344                HtmlPanel panel = new HtmlPanel(
    344                         "<h3><a href=\"" + Main.getBaseBrowseUrl() + "/changeset/" + changeset.getId() + "\">"
     345                        "<h3><a href=\"" + Config.getUrls().getBaseBrowseUrl() + "/changeset/" + changeset.getId() + "\">"
    345346                                + tr("Upload successful!") + "</a></h3>");
    346347                panel.enableClickableHyperlinks();
  • trunk/src/org/openstreetmap/josm/gui/layer/gpx/ConvertToDataLayerAction.java

    r14108 r14119  
    366366                        + "If you want to upload traces, look here:</html>")),
    367367                GBC.eol());
    368         msg.add(new UrlLabel(Main.getOSMWebsite() + "/traces", 2), GBC.eop());
     368        msg.add(new UrlLabel(Config.getUrls().getOSMWebsite() + "/traces", 2), GBC.eop());
    369369        if (!ConditionalOptionPaneUtil.showConfirmationDialog("convert_to_data", Main.parent, msg, tr("Warning"),
    370370                JOptionPane.OK_CANCEL_OPTION, JOptionPane.WARNING_MESSAGE, JOptionPane.OK_OPTION)) {
  • trunk/src/org/openstreetmap/josm/gui/mappaint/RenderingCLI.java

    r14118 r14119  
    3030import org.openstreetmap.josm.data.osm.DataSet;
    3131import org.openstreetmap.josm.data.preferences.JosmBaseDirectories;
     32import org.openstreetmap.josm.data.preferences.JosmUrls;
    3233import org.openstreetmap.josm.data.projection.Projection;
    3334import org.openstreetmap.josm.data.projection.Projections;
     
    423424        Config.setBaseDirectoriesProvider(JosmBaseDirectories.getInstance()); // for right-left-hand traffic cache file
    424425        Config.setPreferencesInstance(new MemoryPreferences());
     426        Config.setUrlsProvider(JosmUrls.getInstance());
    425427        Config.getPref().putBoolean("mappaint.auto_reload_local_styles", false); // unnecessary to listen for external changes
    426428        String projCode = Optional.ofNullable(argProjection).orElse("epsg:3857");
  • trunk/src/org/openstreetmap/josm/gui/oauth/OAuthAuthorizationWizard.java

    r13892 r14119  
    4646import org.openstreetmap.josm.gui.util.WindowGeometry;
    4747import org.openstreetmap.josm.gui.widgets.HtmlPanel;
    48 import org.openstreetmap.josm.io.OsmApi;
     48import org.openstreetmap.josm.spi.preferences.Config;
    4949import org.openstreetmap.josm.tools.CheckParameterUtil;
    5050import org.openstreetmap.josm.tools.ImageProvider;
     
    152152        lbl.setLabelFor(cbAuthorisationProcedure);
    153153
    154         if (!OsmApi.DEFAULT_API_URL.equals(apiUrl)) {
     154        if (!Config.getUrls().getDefaultOsmApiUrl().equals(apiUrl)) {
    155155            gc.gridy = 3;
    156156            gc.gridwidth = 2;
  • trunk/src/org/openstreetmap/josm/gui/preferences/imagery/ImageryPreference.java

    r13797 r14119  
    7272import org.openstreetmap.josm.gui.widgets.HtmlPanel;
    7373import org.openstreetmap.josm.gui.widgets.JosmEditorPane;
     74import org.openstreetmap.josm.spi.preferences.Config;
    7475import org.openstreetmap.josm.tools.GBC;
    7576import org.openstreetmap.josm.tools.ImageProvider;
     
    378379
    379380            HtmlPanel help = new HtmlPanel(tr("New default entries can be added in the <a href=\"{0}\">Wiki</a>.",
    380                 Main.getJOSMWebsite()+"/wiki/Maps"));
     381                Config.getUrls().getJOSMWebsite()+"/wiki/Maps"));
    381382            help.enableClickableHyperlinks();
    382383            add(help, GBC.eol().insets(10, 0, 0, 0).fill(GBC.HORIZONTAL));
  • trunk/src/org/openstreetmap/josm/gui/preferences/map/MapPaintPreference.java

    r12846 r14119  
    1414import javax.swing.JPanel;
    1515
    16 import org.openstreetmap.josm.Main;
    1716import org.openstreetmap.josm.data.preferences.sources.ExtendedSourceEntry;
    1817import org.openstreetmap.josm.data.preferences.sources.MapPaintPrefHelper;
     
    8685
    8786        MapPaintSourceEditor() {
    88             super(SourceType.MAP_PAINT_STYLE, Main.getJOSMWebsite()+"/styles", styleSourceProviders, true);
     87            super(SourceType.MAP_PAINT_STYLE, Config.getUrls().getJOSMWebsite()+"/styles", styleSourceProviders, true);
    8988        }
    9089
  • trunk/src/org/openstreetmap/josm/gui/preferences/map/TaggingPresetPreference.java

    r13761 r14119  
    187187
    188188        TaggingPresetSourceEditor() {
    189             super(SourceType.TAGGING_PRESET, Main.getJOSMWebsite()+"/presets", presetSourceProviders, true);
     189            super(SourceType.TAGGING_PRESET, Config.getUrls().getJOSMWebsite()+"/presets", presetSourceProviders, true);
    190190        }
    191191
  • trunk/src/org/openstreetmap/josm/gui/preferences/server/OsmApiUrlInputPanel.java

    r13613 r14119  
    7272
    7373    protected JComponent buildDefaultServerUrlPanel() {
    74         cbUseDefaultServerUrl = new JCheckBox(tr("<html>Use the default OSM server URL (<strong>{0}</strong>)</html>", OsmApi.DEFAULT_API_URL));
     74        cbUseDefaultServerUrl = new JCheckBox(
     75                tr("<html>Use the default OSM server URL (<strong>{0}</strong>)</html>", Config.getUrls().getDefaultOsmApiUrl()));
    7576        cbUseDefaultServerUrl.addItemListener(new UseDefaultServerUrlChangeHandler());
    7677        cbUseDefaultServerUrl.setFont(cbUseDefaultServerUrl.getFont().deriveFont(Font.PLAIN));
     
    128129        String url = OsmApi.getOsmApi().getServerUrl();
    129130        tfOsmServerUrl.setPossibleItems(SERVER_URL_HISTORY.get());
    130         if (OsmApi.DEFAULT_API_URL.equals(url.trim())) {
     131        if (Config.getUrls().getDefaultOsmApiUrl().equals(url.trim())) {
    131132            cbUseDefaultServerUrl.setSelected(true);
    132             propagator.propagate(OsmApi.DEFAULT_API_URL);
     133            propagator.propagate(Config.getUrls().getDefaultOsmApiUrl());
    133134        } else {
    134135            cbUseDefaultServerUrl.setSelected(false);
     
    144145        String oldUrl = OsmApi.getOsmApi().getServerUrl();
    145146        String hmiUrl = getStrippedApiUrl();
    146         if (cbUseDefaultServerUrl.isSelected() || OsmApi.DEFAULT_API_URL.equals(hmiUrl)) {
     147        if (cbUseDefaultServerUrl.isSelected() || Config.getUrls().getDefaultOsmApiUrl().equals(hmiUrl)) {
    147148            Config.getPref().put("osm-server.url", null);
    148149        } else {
     
    278279            case ItemEvent.SELECTED:
    279280                setApiUrlInputEnabled(false);
    280                 propagator.propagate(OsmApi.DEFAULT_API_URL);
     281                propagator.propagate(Config.getUrls().getDefaultOsmApiUrl());
    281282                break;
    282283            case ItemEvent.DESELECTED:
  • trunk/src/org/openstreetmap/josm/gui/preferences/validator/ValidatorTagCheckerRulesPreference.java

    r12846 r14119  
    1010import java.util.List;
    1111
    12 import org.openstreetmap.josm.Main;
    1312import org.openstreetmap.josm.data.preferences.sources.ExtendedSourceEntry;
    1413import org.openstreetmap.josm.data.preferences.sources.SourceEntry;
     
    2524import org.openstreetmap.josm.gui.preferences.TabPreferenceSetting;
    2625import org.openstreetmap.josm.gui.preferences.map.MapPaintPreference;
     26import org.openstreetmap.josm.spi.preferences.Config;
    2727
    2828/**
     
    5858
    5959        TagCheckerRulesSourceEditor() {
    60             super(SourceType.TAGCHECKER_RULE, Main.getJOSMWebsite()+"/rules", ruleSourceProviders, false);
     60            super(SourceType.TAGCHECKER_RULE, Config.getUrls().getJOSMWebsite()+"/rules", ruleSourceProviders, false);
    6161        }
    6262
  • trunk/src/org/openstreetmap/josm/gui/tagging/presets/TaggingPresetReader.java

    r13998 r14119  
    4343import org.openstreetmap.josm.io.CachedFile;
    4444import org.openstreetmap.josm.io.UTFInputStreamReader;
     45import org.openstreetmap.josm.spi.preferences.Config;
    4546import org.openstreetmap.josm.tools.I18n;
    4647import org.openstreetmap.josm.tools.Logging;
     
    178179
    179180        if (validate) {
    180             parser.startWithValidation(in, Main.getXMLBase()+"/tagging-preset-1.0", "resource://data/tagging-preset.xsd");
     181            parser.startWithValidation(in, Config.getUrls().getXMLBase()+"/tagging-preset-1.0", "resource://data/tagging-preset.xsd");
    181182        } else {
    182183            parser.start(in);
  • trunk/src/org/openstreetmap/josm/io/AbstractReader.java

    r14099 r14119  
    6262     * @param pp postprocessor
    6363     * @see #deregisterPostprocessor
    64      * @since xxx (moved from OsmReader)
     64     * @since 14119 (moved from OsmReader)
    6565     */
    6666    public static void registerPostprocessor(OsmServerReadPostprocessor pp) {
     
    7575     * @param pp postprocessor
    7676     * @see #registerPostprocessor
    77      * @since xxx (moved from OsmReader)
     77     * @since 14119 (moved from OsmReader)
    7878     */
    7979    public static void deregisterPostprocessor(OsmServerReadPostprocessor pp) {
  • trunk/src/org/openstreetmap/josm/io/CachedFile.java

    r13881 r14119  
    541541
    542542    private static void checkOfflineAccess(String urlString) {
    543         OnlineResource.JOSM_WEBSITE.checkOfflineAccess(urlString, Main.getJOSMWebsite());
     543        OnlineResource.JOSM_WEBSITE.checkOfflineAccess(urlString, Config.getUrls().getJOSMWebsite());
    544544        OnlineResource.OSM_API.checkOfflineAccess(urlString, OsmApi.getOsmApi().getServerUrl());
    545545    }
  • trunk/src/org/openstreetmap/josm/io/OsmApi.java

    r13647 r14119  
    3737import org.openstreetmap.josm.io.auth.CredentialsManager;
    3838import org.openstreetmap.josm.spi.preferences.Config;
     39import org.openstreetmap.josm.spi.preferences.IUrls;
    3940import org.openstreetmap.josm.tools.CheckParameterUtil;
    4041import org.openstreetmap.josm.tools.HttpClient;
     
    7374    /**
    7475     * Default URL of the standard OSM API.
     76     * @deprecated Use {@link IUrls#getDefaultOsmApiUrl}
    7577     * @since 5422
    7678     */
     79    @Deprecated
    7780    public static final String DEFAULT_API_URL = "https://api.openstreetmap.org/api";
    7881
     
    136139
    137140    private static String getServerUrlFromPref() {
    138         return Config.getPref().get("osm-server.url", DEFAULT_API_URL);
     141        return Config.getPref().get("osm-server.url", Config.getUrls().getDefaultOsmApiUrl());
    139142    }
    140143
  • trunk/src/org/openstreetmap/josm/io/OsmServerReader.java

    r14005 r14119  
    1414import javax.xml.parsers.ParserConfigurationException;
    1515
    16 import org.openstreetmap.josm.Main;
    1716import org.openstreetmap.josm.data.gpx.GpxData;
    1817import org.openstreetmap.josm.data.notes.Note;
     
    2120import org.openstreetmap.josm.io.auth.CredentialsAgentException;
    2221import org.openstreetmap.josm.io.auth.CredentialsManager;
     22import org.openstreetmap.josm.spi.preferences.Config;
    2323import org.openstreetmap.josm.tools.HttpClient;
    2424import org.openstreetmap.josm.tools.Logging;
     
    155155            boolean uncompressAccordingToContentDisposition, String httpMethod, byte[] requestBody) throws OsmTransferException {
    156156        try {
    157             OnlineResource.JOSM_WEBSITE.checkOfflineAccess(urlStr, Main.getJOSMWebsite());
     157            OnlineResource.JOSM_WEBSITE.checkOfflineAccess(urlStr, Config.getUrls().getJOSMWebsite());
    158158            OnlineResource.OSM_API.checkOfflineAccess(urlStr, OsmApi.getOsmApi().getServerUrl());
    159159
  • trunk/src/org/openstreetmap/josm/io/remotecontrol/handler/ImportHandler.java

    r13929 r14119  
    1010import java.util.Set;
    1111
    12 import org.openstreetmap.josm.Main;
    1312import org.openstreetmap.josm.actions.downloadtasks.DownloadOsmTask;
    1413import org.openstreetmap.josm.actions.downloadtasks.DownloadTask;
     
    7574    public String[] getUsageExamples() {
    7675        return new String[] {"/import?url=" + Utils.encodeUrl(
    77                 Main.getJOSMWebsite()+"/browser/josm/trunk/data_nodist/direction-arrows.osm?format=txt")};
     76                Config.getUrls().getJOSMWebsite()+"/browser/josm/trunk/data_nodist/direction-arrows.osm?format=txt")};
    7877    }
    7978
  • trunk/src/org/openstreetmap/josm/plugins/PluginHandler.java

    r14104 r14119  
    536536            for (String updateSite : Main.pref.getPluginSites()) {
    537537                try {
    538                     OnlineResource.JOSM_WEBSITE.checkOfflineAccess(updateSite, Main.getJOSMWebsite());
     538                    OnlineResource.JOSM_WEBSITE.checkOfflineAccess(updateSite, Config.getUrls().getJOSMWebsite());
    539539                } catch (OfflineAccessException e) {
    540540                    Logging.trace(e);
  • trunk/src/org/openstreetmap/josm/spi/preferences/Config.java

    r12855 r14119  
    1212    private static IPreferences preferences;
    1313    private static IBaseDirectories baseDirectories;
     14    private static IUrls urls;
    1415
    1516    private Config() {
     
    3637
    3738    /**
     39     * Get class that provides the value of certain URLs
     40     * @return the global {@link IUrls} instance
     41     * @since 14119
     42     */
     43    public static IUrls getUrls() {
     44        return urls;
     45    }
     46
     47    /**
    3848     * Install the global preference instance.
    3949     * @param preferences the global preference instance to set (must not be null)
     
    5363        Config.baseDirectories = Objects.requireNonNull(baseDirectories, "baseDirectories");
    5464    }
     65
     66    /**
     67     * Install the global URLs provider.
     68     * @param urls the global URLs provider instance to set (must not be null)
     69     * @since xx
     70     */
     71    public static void setUrlsProvider(IUrls urls) {
     72        Config.urls = Objects.requireNonNull(urls, "urls");
     73    }
    5574}
  • trunk/src/org/openstreetmap/josm/tools/OsmUrlToBounds.java

    r12869 r14119  
    1010import java.util.function.Supplier;
    1111
    12 import org.openstreetmap.josm.Main;
    1312import org.openstreetmap.josm.data.Bounds;
    1413import org.openstreetmap.josm.data.coor.EastNorth;
     
    1716import org.openstreetmap.josm.data.projection.Projection;
    1817import org.openstreetmap.josm.data.projection.Projections;
     18import org.openstreetmap.josm.spi.preferences.Config;
    1919
    2020/**
     
    290290        double lon = Math.round(dlon * decimals);
    291291        lon /= decimals;
    292         return Main.getOSMWebsite() + "/#map="+zoom+'/'+lat+'/'+lon;
     292        return Config.getUrls().getOSMWebsite() + "/#map="+zoom+'/'+lat+'/'+lon;
    293293    }
    294294}
  • trunk/src/org/openstreetmap/josm/tools/WikiReader.java

    r12846 r14119  
    66import java.net.URL;
    77
    8 import org.openstreetmap.josm.Main;
    98import org.openstreetmap.josm.spi.preferences.Config;
    109import org.openstreetmap.josm.tools.LanguageInfo.LocaleType;
     
    3130     */
    3231    public WikiReader() {
    33         this(Config.getPref().get("help.baseurl", Main.getJOSMWebsite()));
     32        this(Config.getPref().get("help.baseurl", Config.getUrls().getJOSMWebsite()));
    3433    }
    3534
  • trunk/src/org/openstreetmap/josm/tools/bugreport/BugReportSender.java

    r13901 r14119  
    1616import javax.xml.xpath.XPathFactory;
    1717
    18 import org.openstreetmap.josm.Main;
     18import org.openstreetmap.josm.spi.preferences.Config;
    1919import org.openstreetmap.josm.tools.HttpClient;
    2020import org.openstreetmap.josm.tools.HttpClient.Response;
     
    136136
    137137    private static String getJOSMTicketURL() {
    138         return Main.getJOSMWebsite() + "/josmticket";
     138        return Config.getUrls().getJOSMWebsite() + "/josmticket";
    139139    }
    140140
Note: See TracChangeset for help on using the changeset viewer.