## 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.
Added Notifications and Reassignments sections to the User Task property tab. Fixed in 1.1.3 (Luna) and 1.2.0 (Mars)
@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 > ...
Created attachment 1022723 [details] Screen shot of User Task Property Tab
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).
Created attachment 1022923 [details] process with notification and reassigment on user task
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"
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.
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)
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
Verified on - BPMN2 Modeler 1.1.3.Final.
Verified on jbds-8.1.0.GA_jbdsis-8.0.2.CR1 - BPMN2 Modeler 1.1.3.Final