Bug 279202 - The data binding can be removed when double click "Edit Bindings" in Expression builder, but after remove exception is thrown out when click to finish [0705]
Summary: The data binding can be removed when double click "Edit Bindings" in Expressi...
Status: NEW
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: BIRT (show other bugs)
Version: 2.5.0   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: Future   Edit
Assignee: Zhiqiang Qian CLA
QA Contact: mindan xu CLA
URL:
Whiteboard: Non-Auto
Keywords: plan
Depends on:
Blocks:
 
Reported: 2009-06-05 02:19 EDT by Xiaodan Wang CLA
Modified: 2010-12-01 20:56 EST (History)
3 users (show)

See Also:


Attachments
screenshot (133.38 KB, image/jpeg)
2009-06-05 02:19 EDT, Xiaodan Wang CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Xiaodan Wang CLA 2009-06-05 02:19:11 EDT
Created attachment 138374 [details]
screenshot

Description:
The data binding can be removed when double click "Edit Bindings" in Expression builder, but after remove exception is thrown out when click to finish.

Build number:
2.5.0.v20090605-0630

Steps to reproduce:
1. New a report parameter, drag the parameter to the Layout.
2. Double click the data to open the "Edit Data Binding" dialogue, open the expression builder, select "Available Column Bindings->Data (NewParameter)->Edit Bindings...", double click to open the "Edit Data Binding" dialogue, select the binding and click "Remove", and click OK to close the dialogue.
3. Click "OK" to close the expression build and click "OK" to click the "Edit Data Binding" dialogue.

Expected result:
Either the "OK" button is disabled after remove the binding, or remove the binding is allowed and no exception is thrown out.

Actual result:
Exception is thrown out.
Comment 1 Xiaodan Wang CLA 2009-06-05 02:19:32 EDT
Error log:
org.eclipse.birt.report.designer.core.runtime.GUIException: The structure is floating, and its handle is invalid!
	at org.eclipse.birt.report.designer.core.runtime.GUIException.createGUIException(GUIException.java:78)
	at org.eclipse.birt.report.designer.internal.ui.util.ExceptionHandler.handle(ExceptionHandler.java:169)
	at org.eclipse.birt.report.designer.internal.ui.util.ExceptionHandler.handle(ExceptionHandler.java:150)
	at org.eclipse.birt.report.designer.internal.ui.util.ExceptionHandler.handle(ExceptionHandler.java:89)
	at org.eclipse.birt.report.designer.internal.ui.dialogs.DataColumnBindingDialog.okPressed(DataColumnBindingDialog.java:287)
	at org.eclipse.jface.dialogs.Dialog.buttonPressed(Dialog.java:472)
	at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:624)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:228)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3880)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3473)
	at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
	at org.eclipse.jface.window.Window.open(Window.java:801)
	at org.eclipse.birt.report.designer.ui.dialogs.BaseDialog.open(BaseDialog.java:110)
	at org.eclipse.birt.report.designer.internal.ui.editors.schematic.editparts.DataEditPart.performDirectEdit(DataEditPart.java:143)
	at org.eclipse.birt.report.designer.internal.ui.editors.schematic.editparts.ReportElementEditPart.performRequest(ReportElementEditPart.java:149)
	at org.eclipse.gef.tools.SelectEditPartTracker.performOpen(SelectEditPartTracker.java:187)
	at org.eclipse.gef.tools.SelectEditPartTracker.handleDoubleClick(SelectEditPartTracker.java:131)
	at org.eclipse.gef.tools.AbstractTool.mouseDoubleClick(AbstractTool.java:955)
	at org.eclipse.birt.report.designer.internal.ui.editors.schematic.tools.ReportElementDragTracker.mouseDoubleClick(ReportElementDragTracker.java:125)
	at org.eclipse.gef.tools.SelectionTool.mouseDoubleClick(SelectionTool.java:501)
	at org.eclipse.gef.EditDomain.mouseDoubleClick(EditDomain.java:208)
	at org.eclipse.gef.ui.parts.DomainEventDispatcher.dispatchMouseDoubleClicked(DomainEventDispatcher.java:285)
	at org.eclipse.draw2d.LightweightSystem$EventHandler.mouseDoubleClick(LightweightSystem.java:508)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:183)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3880)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3473)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)
	at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
	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:559)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
Caused by: java.lang.RuntimeException: The structure is floating, and its handle is invalid!
	at org.eclipse.birt.report.model.api.MemberHandle.<init>(MemberHandle.java:59)
	at org.eclipse.birt.report.model.api.StructureHandle.getMember(StructureHandle.java:288)
	at org.eclipse.birt.report.model.api.StructureHandle.getStringProperty(StructureHandle.java:201)
	at org.eclipse.birt.report.model.api.ComputedColumnHandle.getName(ComputedColumnHandle.java:115)
	at org.eclipse.birt.report.designer.internal.ui.dialogs.BindingDialogHelper.differs(BindingDialogHelper.java:1230)
	at org.eclipse.birt.report.designer.internal.ui.dialogs.DataColumnBindingDialog.okPressed(DataColumnBindingDialog.java:208)
	... 45 more
Comment 2 Zhiqiang Qian CLA 2010-05-06 00:03:27 EDT
This is related to how to control the model state when transaction stack is not committed, need more investigation for this.