diff options
Diffstat (limited to 'dsf/org.eclipse.cdt.examples.dsf.pda/src/org/eclipse/cdt/examples/dsf/pda/launch/PDAServicesShutdownSequence.java')
-rw-r--r-- | dsf/org.eclipse.cdt.examples.dsf.pda/src/org/eclipse/cdt/examples/dsf/pda/launch/PDAServicesShutdownSequence.java | 195 |
1 files changed, 93 insertions, 102 deletions
diff --git a/dsf/org.eclipse.cdt.examples.dsf.pda/src/org/eclipse/cdt/examples/dsf/pda/launch/PDAServicesShutdownSequence.java b/dsf/org.eclipse.cdt.examples.dsf.pda/src/org/eclipse/cdt/examples/dsf/pda/launch/PDAServicesShutdownSequence.java index be052ee515d..310032bc39f 100644 --- a/dsf/org.eclipse.cdt.examples.dsf.pda/src/org/eclipse/cdt/examples/dsf/pda/launch/PDAServicesShutdownSequence.java +++ b/dsf/org.eclipse.cdt.examples.dsf.pda/src/org/eclipse/cdt/examples/dsf/pda/launch/PDAServicesShutdownSequence.java @@ -7,7 +7,7 @@ * https://www.eclipse.org/legal/epl-2.0/ * * SPDX-License-Identifier: EPL-2.0 - * + * * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ @@ -36,110 +36,101 @@ import org.eclipse.core.runtime.Status; * session. If any of the individual steps fail, the shutdown will abort. * <p> * Services are shut down in the reverse order of initialization. - * </p> + * </p> */ public class PDAServicesShutdownSequence extends Sequence { - - private final Step[] fSteps = new Step[] { - new Step() { - @Override - public void execute(RequestMonitor requestMonitor) { - // Initialize services tracker. - assert PDAPlugin.getBundleContext() != null; - fTracker = new DsfServicesTracker(PDAPlugin.getBundleContext(), fSessionId); - requestMonitor.done(); - } - - @Override - public void rollBack(RequestMonitor requestMonitor) { - // In case the shutdown sequence aborts, ensure that the - // tracker is properly disposed. - fTracker.dispose(); - fTracker = null; - requestMonitor.done(); - } - }, - new Step() { - @Override - public void execute(RequestMonitor requestMonitor) { - shutdownService(PDAExpressions.class, requestMonitor); - } - }, - new Step() { - @Override - public void execute(RequestMonitor requestMonitor) { - shutdownService(PDARegisters.class, requestMonitor); - } - }, - new Step() { - @Override - public void execute(RequestMonitor requestMonitor) { - shutdownService(PDAStack.class, requestMonitor); - } - }, - new Step() { - @Override - public void execute(RequestMonitor requestMonitor) { - shutdownService(BreakpointsMediator2.class, requestMonitor); - } - }, new Step() { - @Override - public void execute(RequestMonitor requestMonitor) { - shutdownService(PDABreakpoints.class, requestMonitor); - } - }, - new Step() { - @Override - public void execute(RequestMonitor requestMonitor) { - shutdownService(PDARunControl.class, requestMonitor); - } - }, - new Step() { - @Override - public void execute(RequestMonitor requestMonitor) { - shutdownService(PDACommandControl.class, requestMonitor); - } - }, - new Step() { - @Override - public void execute(RequestMonitor requestMonitor) { - fTracker.dispose(); - fTracker = null; - requestMonitor.done(); - } - } - }; - private String fSessionId; - private DsfServicesTracker fTracker; - - public PDAServicesShutdownSequence(DsfExecutor executor, String sessionId, RequestMonitor requestMonitor) { - super(executor, requestMonitor); - fSessionId = sessionId; - } + private final Step[] fSteps = new Step[] { new Step() { + @Override + public void execute(RequestMonitor requestMonitor) { + // Initialize services tracker. + assert PDAPlugin.getBundleContext() != null; + fTracker = new DsfServicesTracker(PDAPlugin.getBundleContext(), fSessionId); + requestMonitor.done(); + } + + @Override + public void rollBack(RequestMonitor requestMonitor) { + // In case the shutdown sequence aborts, ensure that the + // tracker is properly disposed. + fTracker.dispose(); + fTracker = null; + requestMonitor.done(); + } + }, new Step() { + @Override + public void execute(RequestMonitor requestMonitor) { + shutdownService(PDAExpressions.class, requestMonitor); + } + }, new Step() { + @Override + public void execute(RequestMonitor requestMonitor) { + shutdownService(PDARegisters.class, requestMonitor); + } + }, new Step() { + @Override + public void execute(RequestMonitor requestMonitor) { + shutdownService(PDAStack.class, requestMonitor); + } + }, new Step() { + @Override + public void execute(RequestMonitor requestMonitor) { + shutdownService(BreakpointsMediator2.class, requestMonitor); + } + }, new Step() { + @Override + public void execute(RequestMonitor requestMonitor) { + shutdownService(PDABreakpoints.class, requestMonitor); + } + }, new Step() { + @Override + public void execute(RequestMonitor requestMonitor) { + shutdownService(PDARunControl.class, requestMonitor); + } + }, new Step() { + @Override + public void execute(RequestMonitor requestMonitor) { + shutdownService(PDACommandControl.class, requestMonitor); + } + }, new Step() { + @Override + public void execute(RequestMonitor requestMonitor) { + fTracker.dispose(); + fTracker = null; + requestMonitor.done(); + } + } }; + + private String fSessionId; + private DsfServicesTracker fTracker; + + public PDAServicesShutdownSequence(DsfExecutor executor, String sessionId, RequestMonitor requestMonitor) { + super(executor, requestMonitor); + fSessionId = sessionId; + } - @Override - public Step[] getSteps() { - return fSteps; - } + @Override + public Step[] getSteps() { + return fSteps; + } - @SuppressWarnings("unchecked") - private void shutdownService(Class clazz, final RequestMonitor requestMonitor) { - IDsfService service = (IDsfService)fTracker.getService(clazz); - if (service != null) { - service.shutdown(new RequestMonitor(getExecutor(), requestMonitor) { - @Override - protected void handleCompleted() { - if (!isSuccess()) { - PDAPlugin.getDefault().getLog().log(getStatus()); - } - requestMonitor.done(); - } - }); - } else { - requestMonitor.setStatus(new Status(IStatus.ERROR, PDAPlugin.PLUGIN_ID, IDsfStatusConstants.INTERNAL_ERROR, - "Service '" + clazz.getName() + "' not found.", null)); //$NON-NLS-1$//$NON-NLS-2$ - requestMonitor.done(); - } - } + @SuppressWarnings("unchecked") + private void shutdownService(Class clazz, final RequestMonitor requestMonitor) { + IDsfService service = (IDsfService) fTracker.getService(clazz); + if (service != null) { + service.shutdown(new RequestMonitor(getExecutor(), requestMonitor) { + @Override + protected void handleCompleted() { + if (!isSuccess()) { + PDAPlugin.getDefault().getLog().log(getStatus()); + } + requestMonitor.done(); + } + }); + } else { + requestMonitor.setStatus(new Status(IStatus.ERROR, PDAPlugin.PLUGIN_ID, IDsfStatusConstants.INTERNAL_ERROR, + "Service '" + clazz.getName() + "' not found.", null)); //$NON-NLS-1$//$NON-NLS-2$ + requestMonitor.done(); + } + } } |