Bug 782411

Summary: Opening Agenda view throws DebugException
Product: [JBoss] JBoss Enterprise BRMS Platform 5 Reporter: jgargula
Component: Tooling (JBDS)Assignee: Kris Verlaenen <kverlaen>
Status: VERIFIED --- QA Contact: Martin Vecera <mvecera>
Severity: low Docs Contact:
Priority: unspecified    
Version: BRMS 5.3.0.GACC: lpetrovi, manstis, mvecera, trikkola
Target Milestone: ER6   
Target Release: BRMS 5.3.0.GA   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description jgargula 2012-01-17 12:02:42 UTC
Description of problem:
DebugException is thrown when Agenda view change focus while debugging.

Version-Release number of selected component (if applicable):
BRMS 5.3.0.ER2
JBDS 5.0.0.M5

How reproducible:
Follow next steps

Steps to Reproduce:
1. Start JBDS with parameters -console -consolelog -debug
2. Create new Drools project and add all sample source code.
3. Add breakpoint at line 12 in file src/main/rules/Sample.drl
4. Debug src/main/java/com/sample/DroolsTest.java as Drools application
5. When debugging stops at breakpoint open Drools Agenda view
6. On console can be seen following exception and it is thrown by changing Agenda focus state
  
Actual results:
!ENTRY org.drools.eclipse 4 120 2012-01-17 13:01:42.731
!MESSAGE Internal error in Drools Plugin: 
!STACK 1
org.eclipse.debug.core.DebugException: Error when compiling snippet return getAgenda().getFocus();: The method getFocus() is undefined for the type Agenda

	at org.drools.eclipse.debug.DebugUtil$EvaluationBlock.evaluate(DebugUtil.java:194)
	at org.drools.eclipse.debug.DebugUtil.getValueByExpression(DebugUtil.java:116)
	at org.drools.eclipse.debug.AgendaViewContentProvider.getAgendaElements(AgendaViewContentProvider.java:86)
	at org.drools.eclipse.debug.AgendaViewContentProvider.getChildren(AgendaViewContentProvider.java:54)
	at org.drools.eclipse.debug.DroolsDebugViewContentProvider.getElements(DroolsDebugViewContentProvider.java:52)
	at org.eclipse.jface.viewers.StructuredViewer.getRawChildren(StructuredViewer.java:1010)
	at org.eclipse.jface.viewers.ColumnViewer.getRawChildren(ColumnViewer.java:703)
	at org.eclipse.jface.viewers.AbstractTreeViewer.getRawChildren(AbstractTreeViewer.java:1336)
	at org.eclipse.jface.viewers.TreeViewer.getRawChildren(TreeViewer.java:391)
	at org.eclipse.jface.viewers.StructuredViewer.getFilteredChildren(StructuredViewer.java:917)
	at org.eclipse.jface.viewers.AbstractTreeViewer.getSortedChildren(AbstractTreeViewer.java:605)
	at org.eclipse.jface.viewers.AbstractTreeViewer$1.run(AbstractTreeViewer.java:805)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
	at org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(AbstractTreeViewer.java:782)
	at org.eclipse.jface.viewers.TreeViewer.createChildren(TreeViewer.java:644)
	at org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(AbstractTreeViewer.java:753)
	at org.eclipse.jface.viewers.AbstractTreeViewer.internalInitializeTree(AbstractTreeViewer.java:1533)
	at org.eclipse.jface.viewers.TreeViewer.internalInitializeTree(TreeViewer.java:833)
	at org.eclipse.jface.viewers.AbstractTreeViewer$5.run(AbstractTreeViewer.java:1517)
	at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1443)
	at org.eclipse.jface.viewers.TreeViewer.preservingSelection(TreeViewer.java:403)
	at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1404)
	at org.eclipse.jface.viewers.AbstractTreeViewer.inputChanged(AbstractTreeViewer.java:1510)
	at org.eclipse.jface.viewers.ContentViewer.setInput(ContentViewer.java:280)
	at org.eclipse.jface.viewers.StructuredViewer.setInput(StructuredViewer.java:1690)
	at org.drools.eclipse.debug.DroolsDebugEventHandlerView.setViewerInput(DroolsDebugEventHandlerView.java:143)
	at org.drools.eclipse.debug.DroolsDebugEventHandlerView.becomesVisible(DroolsDebugEventHandlerView.java:181)
	at org.eclipse.debug.ui.AbstractDebugView$DebugViewPartListener.partVisible(AbstractDebugView.java:179)
	at org.eclipse.ui.internal.PartListenerList2$7.run(PartListenerList2.java:172)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.core.runtime.Platform.run(Platform.java:888)
	at org.eclipse.ui.internal.PartListenerList2.fireEvent(PartListenerList2.java:55)
	at org.eclipse.ui.internal.PartListenerList2.firePartVisible(PartListenerList2.java:170)
	at org.eclipse.ui.internal.PartService.firePartVisible(PartService.java:253)
	at org.eclipse.ui.internal.WorkbenchPagePartList.firePartVisible(WorkbenchPagePartList.java:68)
	at org.eclipse.ui.internal.PartList.partVisible(PartList.java:288)
	at org.eclipse.ui.internal.PartList.access$2(PartList.java:277)
	at org.eclipse.ui.internal.PartList$1.propertyChanged(PartList.java:47)
	at org.eclipse.ui.internal.WorkbenchPartReference.fireInternalPropertyChange(WorkbenchPartReference.java:375)
	at org.eclipse.ui.internal.WorkbenchPartReference.fireVisibilityChange(WorkbenchPartReference.java:536)
	at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:318)
	at org.eclipse.ui.internal.ViewPane.setVisible(ViewPane.java:534)
	at org.eclipse.ui.internal.presentations.PresentablePart.setVisible(PresentablePart.java:180)
	at org.eclipse.ui.internal.presentations.util.PresentablePartFolder.select(PresentablePartFolder.java:270)
	at org.eclipse.ui.internal.presentations.util.LeftToRightTabOrder.select(LeftToRightTabOrder.java:65)
	at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation.selectPart(TabbedStackPresentation.java:473)
	at org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:1245)
	at org.eclipse.ui.internal.PartStack.setSelection(PartStack.java:1198)
	at org.eclipse.ui.internal.PartStack.presentationSelectionChanged(PartStack.java:834)
	at org.eclipse.ui.internal.PartStack.access$1(PartStack.java:823)
	at org.eclipse.ui.internal.PartStack$1.selectPart(PartStack.java:137)
	at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation$1.handleEvent(TabbedStackPresentation.java:133)
	at org.eclipse.ui.internal.presentations.util.AbstractTabFolder.fireEvent(AbstractTabFolder.java:269)
	at org.eclipse.ui.internal.presentations.util.AbstractTabFolder.fireEvent(AbstractTabFolder.java:278)
	at org.eclipse.ui.internal.presentations.defaultpresentation.DefaultTabFolder.access$1(DefaultTabFolder.java:1)
	at org.eclipse.ui.internal.presentations.defaultpresentation.DefaultTabFolder$2.handleEvent(DefaultTabFolder.java:88)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1258)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1282)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1267)
	at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1061)
	at org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:2745)
	at org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:1432)
	at org.eclipse.swt.custom.CTabFolder$1.handleEvent(CTabFolder.java:257)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1258)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3588)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3209)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2696)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2660)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494)
	at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	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:344)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:616)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1386)
!SUBENTRY 1 org.drools.eclipse 4 120 2012-01-17 13:01:42.732
!MESSAGE Error when compiling snippet return getAgenda().getFocus();: The method getFocus() is undefined for the type Agenda


Expected results:
No exception

Additional info:

Comment 1 jgargula 2012-01-17 12:06:43 UTC
Could be related to https://bugzilla.redhat.com/show_bug.cgi?id=782393

Comment 4 manstis 2012-04-11 15:05:49 UTC
Cherry-picked to 5.3 from master. See https://github.com/droolsjbpm/droolsjbpm-tools/commit/478e2bf4f776363596b7e837963bb8c6fe46c471

Comment 5 Ryan Zhang 2012-04-23 07:38:11 UTC
Update status to ON_QA. Please verify them against ER6.