Search in sources :

Example 1 with OpenShiftDebugMode

use of org.jboss.tools.openshift.internal.core.server.debug.OpenShiftDebugMode in project jbosstools-openshift by jbosstools.

the class OpenShiftLaunchController method startDebugging.

protected void startDebugging(OpenShiftServerBehaviour behaviour, DebugContext context, IProgressMonitor monitor) {
    IDebugListener listener = new IDebugListener() {

        @Override
        public void onDebugChange(DebugContext context, IProgressMonitor monitor) throws CoreException {
            int localPort = mapPortForwarding(context, monitor);
            ILaunch debuggerLaunch = attachRemoteDebugger(behaviour.getServer(), localPort, monitor);
            if (debuggerLaunch != null) {
                overrideHotcodeReplace(behaviour.getServer(), debuggerLaunch);
            }
        }

        @Override
        public void onPodRestart(DebugContext debuggingContext, IProgressMonitor monitor) throws CoreException {
            onDebugChange(debuggingContext, monitor);
        }
    };
    context.setDebugListener(listener);
    new OpenShiftDebugMode(context).enableDebugging();
}
Also used : OpenShiftDebugMode(org.jboss.tools.openshift.internal.core.server.debug.OpenShiftDebugMode) IDebugListener(org.jboss.tools.openshift.internal.core.server.debug.IDebugListener) IProgressMonitor(org.eclipse.core.runtime.IProgressMonitor) ILaunch(org.eclipse.debug.core.ILaunch) DebugContext(org.jboss.tools.openshift.internal.core.server.debug.DebugContext)

Example 2 with OpenShiftDebugMode

use of org.jboss.tools.openshift.internal.core.server.debug.OpenShiftDebugMode in project jbosstools-openshift by jbosstools.

the class OpenShiftLaunchController method stopDebugging.

private void stopDebugging(DebugContext context, IProgressMonitor monitor) {
    IDebugListener listener = new IDebugListener() {

        @Override
        public void onDebugChange(DebugContext context, IProgressMonitor monitor) throws CoreException {
            DebugLaunchConfigs configs = DebugLaunchConfigs.get();
            if (configs != null) {
                configs.terminateRemoteDebugger(getServer());
            }
            unMapPortForwarding(context.getPod());
        }

        @Override
        public void onPodRestart(DebugContext debuggingContext, IProgressMonitor monitor) throws CoreException {
        }
    };
    context.setDebugListener(listener);
    new OpenShiftDebugMode(context).disableDebugging();
}
Also used : OpenShiftDebugMode(org.jboss.tools.openshift.internal.core.server.debug.OpenShiftDebugMode) IDebugListener(org.jboss.tools.openshift.internal.core.server.debug.IDebugListener) IProgressMonitor(org.eclipse.core.runtime.IProgressMonitor) DebugLaunchConfigs(org.jboss.tools.openshift.internal.core.server.debug.DebugLaunchConfigs) DebugContext(org.jboss.tools.openshift.internal.core.server.debug.DebugContext)

Example 3 with OpenShiftDebugMode

use of org.jboss.tools.openshift.internal.core.server.debug.OpenShiftDebugMode in project jbosstools-openshift by jbosstools.

the class OpenShiftLaunchController method launch.

@Override
public void launch(ILaunchConfiguration configuration, String mode, ILaunch launch, IProgressMonitor monitor) throws CoreException {
    OpenShiftServerBehaviour beh = OpenShiftServerUtils.getOpenShiftServerBehaviour(configuration);
    String currentMode = beh.getServer().getMode();
    beh.setServerStarting();
    launchServerProcess(beh, launch, monitor);
    try {
        if (waitForDeploymentConfigReady(beh.getServer(), monitor)) {
            DebugContext context = createDebugContext(beh, monitor);
            toggleDebugging(mode, beh, context, monitor);
            if (!isDebugMode(mode)) {
                // enable devmode if we're not in debug mode. Debug mode has dev mode enabled
                // anyhow
                enableDevMode(context);
            }
            new OpenShiftDebugMode(context).execute(monitor);
        }
    } catch (Exception e) {
        mode = currentMode;
        throw new CoreException(StatusFactory.errorStatus(OpenShiftCoreActivator.PLUGIN_ID, NLS.bind("Could not launch server {0}", beh.getServer().getName()), e));
    } finally {
        setServerState(beh, mode, monitor);
    }
}
Also used : OpenShiftDebugMode(org.jboss.tools.openshift.internal.core.server.debug.OpenShiftDebugMode) CoreException(org.eclipse.core.runtime.CoreException) OpenShiftServerUtils.toCoreException(org.jboss.tools.openshift.core.server.OpenShiftServerUtils.toCoreException) DebugContext(org.jboss.tools.openshift.internal.core.server.debug.DebugContext) OpenShiftServerBehaviour(org.jboss.tools.openshift.core.server.OpenShiftServerBehaviour) CoreException(org.eclipse.core.runtime.CoreException) DebugException(org.eclipse.debug.core.DebugException) OpenShiftServerUtils.toCoreException(org.jboss.tools.openshift.core.server.OpenShiftServerUtils.toCoreException) IOException(java.io.IOException)

Example 4 with OpenShiftDebugMode

use of org.jboss.tools.openshift.internal.core.server.debug.OpenShiftDebugMode in project jbosstools-openshift by jbosstools.

the class OpenShiftNodejsLaunchController method startDebugging.

@Override
protected void startDebugging(OpenShiftServerBehaviour beh, DebugContext context, IProgressMonitor monitor) {
    IDebugListener listener = new IDebugListener() {

        @Override
        public void onDebugChange(DebugContext debuggingContext, IProgressMonitor monitor) throws CoreException {
            int localPort = mapPortForwarding(debuggingContext, monitor);
            NodeDebugLauncher.launch(beh.getServer(), localPort);
        }

        @Override
        public void onPodRestart(DebugContext debuggingContext, IProgressMonitor monitor) throws CoreException {
            onDebugChange(debuggingContext, monitor);
        }
    };
    context.setDebugListener(listener);
    new OpenShiftDebugMode(context).enableDebugging();
}
Also used : OpenShiftDebugMode(org.jboss.tools.openshift.internal.core.server.debug.OpenShiftDebugMode) IDebugListener(org.jboss.tools.openshift.internal.core.server.debug.IDebugListener) IProgressMonitor(org.eclipse.core.runtime.IProgressMonitor) DebugContext(org.jboss.tools.openshift.internal.core.server.debug.DebugContext)

Aggregations

DebugContext (org.jboss.tools.openshift.internal.core.server.debug.DebugContext)4 OpenShiftDebugMode (org.jboss.tools.openshift.internal.core.server.debug.OpenShiftDebugMode)4 IProgressMonitor (org.eclipse.core.runtime.IProgressMonitor)3 IDebugListener (org.jboss.tools.openshift.internal.core.server.debug.IDebugListener)3 IOException (java.io.IOException)1 CoreException (org.eclipse.core.runtime.CoreException)1 DebugException (org.eclipse.debug.core.DebugException)1 ILaunch (org.eclipse.debug.core.ILaunch)1 OpenShiftServerBehaviour (org.jboss.tools.openshift.core.server.OpenShiftServerBehaviour)1 OpenShiftServerUtils.toCoreException (org.jboss.tools.openshift.core.server.OpenShiftServerUtils.toCoreException)1 DebugLaunchConfigs (org.jboss.tools.openshift.internal.core.server.debug.DebugLaunchConfigs)1