Bug 1207326

Summary: How to set user task notification through JBDS in jBPM 6?
Product: [Retired] JBoss BPMS Platform 6 Reporter: Amana <ajuricic>
Component: Eclipse ToolingAssignee: Kris Verlaenen <kverlaen>
Status: CLOSED EOL QA Contact: Jozef Marko <jomarko>
Severity: high Docs Contact:
Priority: high    
Version: 6.0.3CC: jomarko
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-03-27 20:06:29 UTC Type: Feature Request
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Screen shot of User Task Property Tab
none
process with notification and reassigment on user task none

Description Amana 2015-03-30 17:36:47 UTC
## Description of problem:
It is not possible to set user task notification through JBDS (JBoss Developer Studio) using the IDE plug-in designer for jBPM 6.

It worked well in IDE plug-in for jBPM 5 as can be seen in [1] so it is clearly a "regression" unless there is another way to achieve that using the plug-in in JBDS.

[1] https://access.redhat.com/documentation/en-US/JBoss_Enterprise_BRMS_Platform/5/html/BRMS_Business_Process_Management_Guide/Task_Escalation_and_Notification.html


## Version-Release number of selected component (if applicable):
IDE plug-in designer for jBPM 6 (BPM Suite 6)


## How reproducible:
Always


## Steps to Reproduce:
1. Create a user task and try to set a notification.


## Expected results:
It should show a tab so that we could set Notification using JBDS.

Comment 2 Robert (Bob) Brodt 2015-04-14 20:32:10 UTC
Added Notifications and Reassignments sections to the User Task property tab.
Fixed in 1.1.3 (Luna) and 1.2.0 (Mars)

Comment 3 Jozef Marko 2015-04-27 09:11:10 UTC
@Bob, please in what version of BPMN2 Modeler is this issue fixed?

I have installed  BPMN2 Modeler 1.1.3.201504171557 (Luna), but in properties of User Task element were no new tabs.

Is needed some more configuration? For example Window > Preferences > BPMN2 > ...

Comment 4 Robert (Bob) Brodt 2015-05-06 15:45:08 UTC
Created attachment 1022723 [details]
Screen shot of User Task Property Tab

Comment 5 Robert (Bob) Brodt 2015-05-06 15:45:38 UTC
This is fixed in 1.1.3

You should see two new sections called "Notifications" and "Assignments" (all the way at the bottom) in the "User Task" property tab (see attachment).

Comment 6 Jozef Marko 2015-05-07 05:19:55 UTC
Created attachment 1022923 [details]
process with notification and reassigment on user task

Comment 7 Jozef Marko 2015-05-07 05:27:37 UTC
Hi Bob, 
I have found sections 'Notifications' and 'Assignments' yet. But I have problem with field 'Type' in both of this sections. I have created process - the attachment 1022923 [details] , where I have set notification and reassignment. But regardless which 'Type' of notification or reassignment I have chosen, I got validation errors like "Data Input NotStartedNotify() has no Data Type" and "Data Input NotStartedReassignment() has no Data Type"

Comment 8 Robert (Bob) Brodt 2015-05-07 19:45:20 UTC
Ah, right...apparently these do not need data type definitions.
I've added a custom validator to the jBPM plugin to ignore these DataInputs.
Please retest with tonight's 1.1.3 build.

Comment 9 Jozef Marko 2015-05-13 13:59:49 UTC
Bob, problem with type validation is fixed. But there have occurred another problem. Please follow these steps:

1. Create BPMN process containing (StartEvent)->(UserTask)-(EndEvent)
2. Double click on (UserTask)
3. In pop-up window named 'Edit User Task' click 'Add' in section Notifications
4. Fill all fields of new Notification
5. Click Ok
6. Save process
7. Repeat step 2.

Pop-up window with Properties of (UserTask) should be displayed, but it is not. This Exception can be found in error log:

Message:
GFCommandStack.execute(Command) org.eclipse.core.runtime.AssertionFailedException: assertion failed: 

StackTrace:
org.eclipse.core.runtime.AssertionFailedException: assertion failed: 
	at org.eclipse.core.runtime.Assert.isTrue(Assert.java:110)
	at org.eclipse.core.runtime.Assert.isTrue(Assert.java:96)
	at org.eclipse.bpmn2.modeler.runtime.jboss.jbpm5.property.extensions.TaskNotification.fromString(TaskNotification.java:338)
	at org.eclipse.bpmn2.modeler.runtime.jboss.jbpm5.property.extensions.TaskNotificationList.add(TaskNotificationList.java:48)
	at org.eclipse.bpmn2.modeler.runtime.jboss.jbpm5.property.extensions.TaskNotificationsListComposite$1.inputChanged(TaskNotificationsListComposite.java:169)
	at org.eclipse.jface.viewers.ContentViewer.setInput(ContentViewer.java:288)
	at org.eclipse.jface.viewers.StructuredViewer.setInput(StructuredViewer.java:1675)
	at org.eclipse.bpmn2.modeler.core.merrimac.clad.AbstractListComposite.bindList(AbstractListComposite.java:510)
	at org.eclipse.bpmn2.modeler.runtime.jboss.jbpm5.property.JbpmUserTaskDetailComposite.createBindings(JbpmUserTaskDetailComposite.java:47)
	at org.eclipse.bpmn2.modeler.core.merrimac.clad.AbstractDetailComposite.setBusinessObject(AbstractDetailComposite.java:131)
	at org.eclipse.bpmn2.modeler.core.merrimac.clad.DefaultDialogComposite.setData(DefaultDialogComposite.java:212)
	at org.eclipse.bpmn2.modeler.core.merrimac.dialogs.AbstractObjectEditingDialog.aboutToOpen(AbstractObjectEditingDialog.java:186)
	at org.eclipse.bpmn2.modeler.core.merrimac.dialogs.AbstractObjectEditingDialog.open(AbstractObjectEditingDialog.java:254)
	at org.eclipse.bpmn2.modeler.core.merrimac.dialogs.ObjectEditingDialog.open(ObjectEditingDialog.java:72)
	at org.eclipse.bpmn2.modeler.core.features.ShowPropertiesFeature.execute(ShowPropertiesFeature.java:92)
	at org.eclipse.graphiti.features.custom.AbstractCustomFeature.execute(AbstractCustomFeature.java:83)
	at org.eclipse.graphiti.internal.command.GenericFeatureCommandWithContext.execute(GenericFeatureCommandWithContext.java:64)
	at org.eclipse.graphiti.ui.internal.command.GefCommandWrapper.execute(GefCommandWrapper.java:51)
	at org.eclipse.graphiti.ui.internal.editor.EmfOnGefCommand.execute(EmfOnGefCommand.java:54)
	at org.eclipse.graphiti.internal.command.GFPreparableCommand2.doExecute(GFPreparableCommand2.java:43)
	at org.eclipse.emf.transaction.RecordingCommand.execute(RecordingCommand.java:135)
	at org.eclipse.emf.workspace.EMFCommandOperation.doExecute(EMFCommandOperation.java:119)
	at org.eclipse.emf.workspace.AbstractEMFOperation.execute(AbstractEMFOperation.java:150)
	at org.eclipse.core.commands.operations.DefaultOperationHistory.execute(DefaultOperationHistory.java:513)
	at org.eclipse.emf.workspace.impl.WorkspaceCommandStackImpl.doExecute(WorkspaceCommandStackImpl.java:208)
	at org.eclipse.emf.transaction.impl.AbstractTransactionalCommandStack.execute(AbstractTransactionalCommandStack.java:165)
	at org.eclipse.graphiti.ui.internal.editor.GFWorkspaceCommandStackImpl.execute(GFWorkspaceCommandStackImpl.java:84)
	at org.eclipse.graphiti.ui.internal.editor.GFCommandStack.execute(GFCommandStack.java:138)
	at org.eclipse.graphiti.ui.internal.parts.ShapeEditPart.performRequest(ShapeEditPart.java:573)
	at org.eclipse.gef.tools.SelectEditPartTracker.performOpen(SelectEditPartTracker.java:194)
	at org.eclipse.gef.tools.SelectEditPartTracker.handleDoubleClick(SelectEditPartTracker.java:137)
	at org.eclipse.gef.tools.AbstractTool.mouseDoubleClick(AbstractTool.java:1069)
	at org.eclipse.gef.tools.SelectionTool.mouseDoubleClick(SelectionTool.java:527)
	at org.eclipse.gef.EditDomain.mouseDoubleClick(EditDomain.java:231)
	at org.eclipse.gef.ui.parts.DomainEventDispatcher.dispatchMouseDoubleClicked(DomainEventDispatcher.java:291)
	at org.eclipse.draw2d.LightweightSystem$EventHandler.mouseDoubleClick(LightweightSystem.java:518)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:196)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4454)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1388)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3799)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3409)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148)
	at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:636)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:579)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:135)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
	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:606)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1438)

Comment 10 Robert (Bob) Brodt 2015-05-15 19:33:29 UTC
Oops! This was a bug in the string parser that handles the notifications and reassignment expressions. The bug only appears if the value of one of the fields is the same as the field name, in this case you had entered "subject" in the "Subject" field.

This is fixed in 1.1.3.Final

Comment 11 Jozef Marko 2015-05-21 13:27:58 UTC
Verified on - BPMN2 Modeler 1.1.3.Final.

Comment 12 Jozef Marko 2015-05-25 08:23:37 UTC
Verified on jbds-8.1.0.GA_jbdsis-8.0.2.CR1 - BPMN2 Modeler 1.1.3.Final