package org.eclipse.dltk.javascript.jsjdtdebugger; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.debug.core.ILaunch; import org.eclipse.dltk.core.PreferencesLookupDelegate; import org.eclipse.dltk.javascript.internal.debug.JavaScriptDebugConstants; import org.eclipse.dltk.javascript.internal.debug.JavaScriptDebugPlugin; import org.eclipse.dltk.javascript.internal.launching.JavaScriptInterpreterRunner; import org.eclipse.dltk.javascript.launching.IConfigurableRunner; import org.eclipse.dltk.javascript.launching.IJavaScriptInterpreterRunnerConfig; import org.eclipse.dltk.launching.DebuggingEngineRunner; import org.eclipse.dltk.launching.IInterpreterInstall; import org.eclipse.dltk.launching.InterpreterConfig; public class JavaScriptAndJDTDebuggerRunner extends DebuggingEngineRunner implements IConfigurableRunner { public static final String ENGINE_ID = "org.eclipse.dltk.javascript.jsjdtdebugger"; //$NON-NLS-1$ IJavaScriptInterpreterRunnerConfig runnerconfig = JavaScriptInterpreterRunner.DEFAULT_CONFIG; public JavaScriptAndJDTDebuggerRunner(IInterpreterInstall install) { super(install); } @Override public String getDebugModelId() { return JavaScriptDebugConstants.DEBUG_MODEL_ID; } @Override public void run(InterpreterConfig config, ILaunch launch, IProgressMonitor monitor) throws CoreException { initializeLaunch(launch, config, createPreferencesLookupDelegate(launch)); JavaScriptInterpreterRunner .doRunImpl(config, launch, this.runnerconfig); } public void setRunnerConfig(IJavaScriptInterpreterRunnerConfig config) { this.runnerconfig = config; } @Override protected String getDebuggingEngineId() { return ENGINE_ID; } @Override protected InterpreterConfig addEngineConfig(InterpreterConfig config, PreferencesLookupDelegate delegate, ILaunch launch) { return config; } @Override protected String getDebugPreferenceQualifier() { return JavaScriptDebugPlugin.PLUGIN_ID; } @Override protected String getDebuggingEnginePreferenceQualifier() { return JavaScriptAndJdtDebuggerPlugin.PLUGIN_ID; } @Override protected String getLogFileNamePreferenceKey() { // not yet supported... return null; } }