public static void launchBrowserSim(String initialUrl) { Activator.getDefault().countLaunchEvent(); List<String> parameters = new ArrayList<String>(); parameters.add(NOT_STANDALONE); if (initialUrl != null) { parameters.add(initialUrl); } IVMInstall jvm = getSelectedVM(); if (jvm == null) { // no suitable vm ExternalProcessLauncher.showErrorDialog(Messages.BrowserSim); } else { String jvmPath = jvm.getInstallLocation().getAbsolutePath(); String jrePath = jvm.getInstallLocation().getAbsolutePath() + File.separator + "jre"; // $NON-NLS-1$ List<String> bundles = getBundles(); if (!ExternalProcessLauncher.isGTK2() || (!BrowserSimUtil.isJavaFxAvailable(jvmPath) && !BrowserSimUtil.isJavaFxAvailable(jrePath))) { bundles.add("org.jboss.tools.vpe.browsersim.javafx.mock"); // $NON-NLS-1$ } ExternalProcessLauncher.launchAsExternalProcess( bundles, RESOURCES_BUNDLES, BROWSERSIM_CALLBACKS, BROWSERSIM_CLASS_NAME, parameters, Messages.BrowserSim, jvm); } }
@Override public void call(String lastString, TransparentReader reader) throws IOException { String portString = lastString.replaceAll("\\D+", ""); // $NON-NLS-1$//$NON-NLS-2$ - leaving only digits int port = Integer.parseInt(portString); Server server = ServerStorage.getStorage().get(port); ServerStorage.getStorage().remove(port); if (server != null) { try { server.stop(); server.join(); } catch (Exception e) { Activator.logError(e.getMessage(), e); } } }
public static IVMInstall getSelectedVM() { IPreferenceStore store = Activator.getDefault().getPreferenceStore(); IVMInstall jvm = null; if (IPreferenceStore.FALSE.equals( store.getString(BrowserSimPreferencesPage.BROWSERSIM_JVM_AUTOMATICALLY))) { // path to browserSim jvm is located in preferences String jvmId = store.getString(BrowserSimPreferencesPage.BROWSERSIM_JVM_ID); jvm = PreferencesUtil.getJVM(jvmId); } else { // detect jvm automatically List<IVMInstall> jvms = PreferencesUtil.getSuitableJvms(1); if (!jvms.isEmpty()) { jvm = jvms.get(0); } } return jvm; }