Hello everyone, this is my first time posting here, I’ve made several processes and now I’m trying run it to see the look plus confirm the insertion on database however I keep having the same error:
org.bonitasoft.engine.expression.InvalidExpressionException: The dependencies of comparator != must have the same return type.
org.bonitasoft.studio.engine.export.EngineExpressionUtil.buildSimpleEngineExpression(EngineExpressionUtil.java:414)
org.bonitasoft.studio.engine.export.EngineExpressionUtil.buildSimpleEngineExpressionWithName(EngineExpressionUtil.java:401)
org.bonitasoft.studio.engine.export.EngineExpressionUtil.createExpression(EngineExpressionUtil.java:329)
org.bonitasoft.studio.engine.export.switcher.SequenceFlowSwitch.caseSequenceFlow(SequenceFlowSwitch.java:77)
org.bonitasoft.studio.engine.export.switcher.SequenceFlowSwitch.caseSequenceFlow(SequenceFlowSwitch.java:1)
org.bonitasoft.studio.model.process.util.ProcessSwitch.doSwitch(ProcessSwitch.java:1049)
org.eclipse.emf.ecore.util.Switch.doSwitch(Switch.java:53)
org.eclipse.emf.ecore.util.Switch.doSwitch(Switch.java:69)
org.bonitasoft.studio.engine.export.DesignProcessDefinitionBuilder.processSequenceFlows(DesignProcessDefinitionBuilder.java:170)
org.bonitasoft.studio.engine.export.DesignProcessDefinitionBuilder.createDefinition(DesignProcessDefinitionBuilder.java:128)
org.bonitasoft.studio.engine.export.BarExporter.createBusinessArchive(BarExporter.java:100)
org.bonitasoft.studio.engine.export.BarExporter.createBusinessArchive(BarExporter.java:91)
org.bonitasoft.studio.engine.export.BarExporter.createBusinessArchive(BarExporter.java:170)
org.bonitasoft.studio.engine.operation.DeployProcessOperation.deployProcess(DeployProcessOperation.java:183)
org.bonitasoft.studio.engine.operation.DeployProcessOperation.deploy(DeployProcessOperation.java:164)
org.bonitasoft.studio.engine.operation.DeployProcessOperation.run(DeployProcessOperation.java:117)
org.bonitasoft.studio.engine.operation.RunProcessOperation.run(RunProcessOperation.java:81)
org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
What’s worse the process in question uses no comparators at all.
I’m using version 6.4.0
Here’s the process
I have also the same probllem
I’ve had a look and from what I can see you are using a throw signal (T01 is requsted) to another throw signal (T01 is promised), shouldn’t the other be a Catch signal? The catches have empty triangles (not filled in).
But this use of Throw is incorrect anyway - you are in the same process no need to throw anything. Just have a straight line between the steps.
And I don’t understand the setting for default flows ( the lines with \ through them) these would only be used on gateways…
Just use normal flow lines, easier…
Hope this helps,
regards
Seán
Thanks for the reply, I’ve done the adjustments that you’ve pointed out however I still get the same error…
I’ve tried out copying the entire project and deleting all but that transaction and this time it worked, so I’m guessing it’s because of a different process, so I’m redoing them one at a time and testing them as I go (should have done that before… live and learn I guess)
Another question:
-
Imagine I had a process called ‘make book’ and another called ‘add images’, and within make book you could call ‘add images’, in this case would adding a throw event (before the end) be useful or just pointless?
-
Should I use to start a process the simple Start (green circle) or the Start signal? I ask because to me the difference is only in the existance (or lack of) of a throw signal
Thanks for the help.
First things first - and apologies if I’m wrong but I think an investment in a little BPMN training might help. Or at least read a few pages from the web to understand what all the symbols mean.
Have a look at this manual from the OMG an excellent starter, and an online trainer here (note - I just did a google search, I have no affiliation with these companies).
To answer your questions specifically…
- two processes for Make Book? Here would be my take on it…
Process = Make Book
Step 1 = Add Table of Contents
Step 2 = Add Chapters
Step 3 = Add Images
Step 4 = finalise formatting
Step 5 = Proof read
Step 6 = publish
So one process multiple steps, absolutely no reason to step out of this single process by throwing an event, it’s not needed.
Reading/understanding the training above will help in understanding this.
- I only ever use simple Start (green circle) for 90% of my processes. Only use a Start Signal when needed and you have a semaphore for starting the process.
In the above example there is only one Start - simple. There are no-others.
Start Signal is really only for starting another process that while related to the current process is not necessarily part of it.
The easy example here is
I make an order, but is the delivery process part of ordering? Not really it is a different, but related process.
-
User makes an order
-
order process verifies stock
-
order process Invoices purchaser
-
order process SIGNALs Dispatch to pick and deliver package
-
order process finishes
-
delivery process picks goods
-
delivery process tells driver where to go
-
driver drops off goods
Here the order process has completed before the delivery process, related but not dependent on it…
Hope this helps,
regards
Seán