/******************************************************************************* * Copyright (c) 2009, 2011 IBM Corporation and others. * * This program and the accompanying materials * are made available under the terms of the Eclipse Public License 2.0 * which accompanies this distribution, and is available at * https://www.eclipse.org/legal/epl-2.0/ * * SPDX-License-Identifier: EPL-2.0 * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ package org.eclipse.ua.tests.help.remote; import org.eclipse.core.runtime.Platform; import org.eclipse.core.runtime.preferences.IEclipsePreferences; import org.eclipse.core.runtime.preferences.InstanceScope; import org.eclipse.help.internal.base.HelpBasePlugin; import org.eclipse.help.internal.base.IHelpBaseConstants; public class RemotePreferenceStore { private static String namePreference; private static String hostPreference; private static String pathPreference; private static String protocolPreference; private static String portPreference; private static String icEnabledPreference; private static String helpOn; private static String defaultPort; private static String remoteHelpPreferred; private static String pageNotFound; public static void savePreferences() throws Exception { namePreference = Platform.getPreferencesService().getString (HelpBasePlugin.PLUGIN_ID, IHelpBaseConstants.P_KEY_REMOTE_HELP_NAME, "", null); hostPreference = Platform.getPreferencesService().getString (HelpBasePlugin.PLUGIN_ID, IHelpBaseConstants.P_KEY_REMOTE_HELP_HOST, "", null); pathPreference = Platform.getPreferencesService().getString (HelpBasePlugin.PLUGIN_ID, IHelpBaseConstants.P_KEY_REMOTE_HELP_PATH, "", null); protocolPreference = Platform.getPreferencesService().getString (HelpBasePlugin.PLUGIN_ID, IHelpBaseConstants.P_KEY_REMOTE_HELP_PROTOCOL, "", null); portPreference = Platform.getPreferencesService().getString (HelpBasePlugin.PLUGIN_ID, IHelpBaseConstants.P_KEY_REMOTE_HELP_PORT, "", null); icEnabledPreference = Platform.getPreferencesService().getString (HelpBasePlugin.PLUGIN_ID, IHelpBaseConstants.P_KEY_REMOTE_HELP_ICEnabled, "", null); defaultPort = Platform.getPreferencesService().getString (HelpBasePlugin.PLUGIN_ID, IHelpBaseConstants.P_KEY_REMOTE_HELP_DEFAULT_PORT, "", null); helpOn = Platform.getPreferencesService().getString (HelpBasePlugin.PLUGIN_ID, IHelpBaseConstants.P_KEY_REMOTE_HELP_ON, "", null); remoteHelpPreferred = Platform.getPreferencesService().getString (HelpBasePlugin.PLUGIN_ID, IHelpBaseConstants.P_KEY_REMOTE_HELP_PREFERRED, "", null); pageNotFound = Platform.getPreferencesService().getString (HelpBasePlugin.PLUGIN_ID, IHelpBaseConstants.P_PAGE_NOT_FOUND, "", null); } public static void restorePreferences() throws Exception { IEclipsePreferences prefs = InstanceScope.INSTANCE.getNode(HelpBasePlugin.PLUGIN_ID); prefs.put(IHelpBaseConstants.P_KEY_REMOTE_HELP_NAME, namePreference); prefs.put(IHelpBaseConstants.P_KEY_REMOTE_HELP_HOST, hostPreference); prefs.put(IHelpBaseConstants.P_KEY_REMOTE_HELP_PATH, pathPreference); prefs.put(IHelpBaseConstants.P_KEY_REMOTE_HELP_PROTOCOL, protocolPreference); prefs.put(IHelpBaseConstants.P_KEY_REMOTE_HELP_PORT, portPreference); prefs.put(IHelpBaseConstants.P_KEY_REMOTE_HELP_DEFAULT_PORT, defaultPort); prefs.put(IHelpBaseConstants.P_KEY_REMOTE_HELP_ON, helpOn); prefs.put(IHelpBaseConstants.P_KEY_REMOTE_HELP_ICEnabled, icEnabledPreference); prefs.put(IHelpBaseConstants.P_KEY_REMOTE_HELP_PREFERRED, remoteHelpPreferred); prefs.put(IHelpBaseConstants.P_PAGE_NOT_FOUND, pageNotFound); } public static void setMockRemoteServer() throws Exception { TestServerManager.start("ua.test", 0); RemotePreferenceTest.setPreference("remoteHelpOn", "true"); RemotePreferenceTest.setPreference("remoteHelpHost", "localhost"); RemotePreferenceTest.setPreference("remoteHelpPath", "/help"); RemotePreferenceTest.setPreference("remoteHelpProtocol", "http"); RemotePreferenceTest.setPreference("remoteHelpUseDefaultPort", ""); RemotePreferenceTest.setPreference("remoteHelpPort", "" + TestServerManager.getPort(0)); RemotePreferenceTest.setPreference("remoteHelpName", "uatest"); RemotePreferenceTest.setPreference("remoteHelpICEnabled", "true"); RemotePreferenceTest.setPreference("remoteHelpICContributed", "false"); } public static void setTwoMockRemoteServers() throws Exception { TestServerManager.start("ua.test", 0); TestServerManager.start("ua.test2", 1); RemotePreferenceTest.setPreference("remoteHelpOn", "true"); RemotePreferenceTest.setPreference("remoteHelpHost", "localhost,localhost"); RemotePreferenceTest.setPreference("remoteHelpPath", "/help,/help"); RemotePreferenceTest.setPreference("remoteHelpProtocol", "http,http"); RemotePreferenceTest.setPreference("remoteHelpUseDefaultPort", ","); RemotePreferenceTest.setPreference("remoteHelpPort", "" + TestServerManager.getPort(0) + ',' + TestServerManager.getPort(1)); RemotePreferenceTest.setPreference("remoteHelpName", "uatest,uatest2"); RemotePreferenceTest.setPreference("remoteHelpICEnabled", "true,true"); RemotePreferenceTest.setPreference("remoteHelpICContributed", "false,false"); } public static void setTwoMockRemoteServersReversePriority() throws Exception { TestServerManager.start("ua.test", 0); TestServerManager.start("ua.test2", 1); RemotePreferenceTest.setPreference("remoteHelpOn", "true"); RemotePreferenceTest.setPreference("remoteHelpHost", "localhost,localhost"); RemotePreferenceTest.setPreference("remoteHelpPath", "/help,/help"); RemotePreferenceTest.setPreference("remoteHelpProtocol", "http,http"); RemotePreferenceTest.setPreference("remoteHelpUseDefaultPort", "true,true"); RemotePreferenceTest.setPreference("remoteHelpPort", "" + TestServerManager.getPort(1) + ',' + TestServerManager.getPort(0)); RemotePreferenceTest.setPreference("remoteHelpName", "uatest,uatest2"); RemotePreferenceTest.setPreference("remoteHelpICEnabled", "true,true"); RemotePreferenceTest.setPreference("remoteHelpICContributed", "false,false"); } public static void disableRemoteHelp() throws Exception { RemotePreferenceTest.setPreference("remoteHelpOn", "false"); } public static void disableErrorPage() throws Exception { RemotePreferenceTest.setPreference(IHelpBaseConstants.P_PAGE_NOT_FOUND, ""); } public static void setMockLocalPriority() throws Exception { RemotePreferenceTest.setPreference("remoteHelpOn", "true"); RemotePreferenceTest.setPreference("remoteHelpPreferred", "false"); } public static void setMockRemotePriority() throws Exception { RemotePreferenceTest.setPreference("remoteHelpOn", "true"); RemotePreferenceTest.setPreference("remoteHelpPreferred", "true"); } }