Bug 193055 AssertionError exception is thrown if run code in "enableassertion" mode.
Build ID: I20070601-1539 Steps To Reproduce: 1. Open the workbench of All-in-one build 2. Check out some plug-ins' code of BIRT 3. Run the code as Eclipse Application with "-ea" or "-enableassertion" argument for VM arguments Expect Result: It can be lunched successfully. Actual Result: It cannot be launched because of the following exception. 2007-6-18 11:34:05 org.eclipse.birt.data.engine.impl.DataEngineImpl <init> &#20449;&#24687;: Data Engine starts up Exception in thread "Thread-2" java.lang.AssertionError at org.eclipse.birt.report.designer.nls.Messages.getString(Messages.java:64) at org.eclipse.birt.report.designer.nls.Messages.getFormattedString(Messages.java:78) at org.eclipse.birt.report.designer.ui.actions.PreviewCascadingMenuGroup.fillMenu(PreviewCascadingMenuGroup.java:124) at org.eclipse.birt.report.designer.ui.actions.PreviewCascadingMenuGroup.getMenu(PreviewCascadingMenuGroup.java:91) at org.eclipse.ui.internal.WWinPluginPulldown$MenuProxy$MenuLoader.run(WWinPluginPulldown.java:128) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) at org.eclipse.ui.internal.WWinPluginPulldown$MenuProxy.getMenu(WWinPluginPulldown.java:156) at org.eclipse.jface.action.ActionContributionItem.fill(ActionContributionItem.java:256) at org.eclipse.jface.action.SubContributionItem.fill(SubContributionItem.java:67) at org.eclipse.jface.action.MenuManager.update(MenuManager.java:665) at org.eclipse.jface.action.MenuManager.updateAll(MenuManager.java:765) at org.eclipse.jface.action.MenuManager.update(MenuManager.java:685) at org.eclipse.jface.action.MenuManager.updateAll(MenuManager.java:765) at org.eclipse.ui.internal.WorkbenchWindow.updateActionBars(WorkbenchWindow.java:2968) at org.eclipse.ui.internal.WorkbenchWindow.updateActionSets(WorkbenchWindow.java:3044) at org.eclipse.ui.internal.WorkbenchWindow$23.run(WorkbenchWindow.java:2851) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67) at org.eclipse.ui.internal.WorkbenchWindow.setActivePage(WorkbenchWindow.java:2812) at org.eclipse.ui.internal.WorkbenchWindow$17.runWithException(WorkbenchWindow.java:2135) at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3659) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3296) at org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:797) at org.eclipse.ui.internal.Workbench$25.runWithException(Workbench.java:1342) at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3659) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3296) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2309) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219) at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:153) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:504) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:443) at org.eclipse.equinox.launcher.Main.run(Main.java:1169) at org.eclipse.equinox.launcher.Main.main(Main.java:1144)
UI/org.eclipse.birt.report.designer.ui.preview.web/src/org/eclipse/birt/report/designer/ui/actions/PreviewCascadingMenuGroup.java
IWorkbenchWindowPulldownDelegate2
{
	private Image previewIcon = Activator.getImageDescriptor( "icons/etool16/preview.gif" )
			.createImage( );
	private Image previewPDFIcon = Activator.getImageDescriptor( "icons/etool16/preview_pdf.gif" )
			.createImage( );
	/**
	 * The menu created by this action.
	 */
	private Menu fMenu;
	/**
	 * The constructor.
	 */
	public PreviewCascadingMenuGroup( )
	{
		super( );
	}
	/*
	 * (non-Javadoc)
	 * 
	 * @see org.eclipse.birt.report.designer.ui.actions.PreviewAction#dispose()
	 */
	public void dispose( )
	{
		previewIcon.dispose( );
		previewPDFIcon.dispose( );
	}
	/**
	 * @see org.eclipse.ui.IWorkbenchWindowPulldownDelegate#getMenu(org.eclipse.swt.widgets.Control)
	 */