/** * helper to destory view model and viewer * * @param vmOnly true to destory view model only and do not destroy viewer */ void destroyViewer(boolean vmOnly) { fVMProvider.getNode().setFormattedValuesListener(null); fVMProvider.getNode().getLabelProvider().removePropertiesUpdateListener(fViewerListener); fVMProvider.getNode().setVMUpdateListener(null); fVMListener.dispose(); if (vmOnly == false) { fViewerListener.dispose(); fViewer.getPresentationContext().dispose(); // Close the shell fShell.close(); while (!fShell.isDisposed()) if (!fDisplay.readAndDispatch()) fDisplay.sleep(); } }
/** @throws java.lang.Exception */ @Override protected void tearDown() throws Exception { fVMProvider.getNode().setFormattedValuesListener(null); fModel.setTestModelListener(null); fVMProvider.getNode().getLabelProvider().removePropertiesUpdateListener(fViewerListener); fVMProvider.getNode().setVMUpdateListener(null); fVMAdapter.dispose(); fVMListener.dispose(); fViewerListener.dispose(); shutdownService(fDummyValuesService); shutdownService(fModel); fViewer.getPresentationContext().dispose(); // Close the shell and exit. fShell.close(); while (!fShell.isDisposed()) if (!fDisplay.readAndDispatch()) fDisplay.sleep(); DsfSession.endSession(fDsfSession); fDsfExecutor.shutdown(); }