In jBPM-4.3, bpmn2 used id attribute as the process definition name and key.
In jBPM-4.4, bpmn2 used id attribute as the name of process definition, because there must be a id attribute. and if there is a name attribute in bpmn2 process element, bpmn2 will use name attribute as the key of process definition. The problem is the name attribute may be too large or in another word, the name attribute value is most likely the name of process definition, because it may contain blank space, it is not likely the key of process definition. So the behaviour in the jbpm-4.4 is a little strange.
I uploaded a patch to fix this issue. The strategy is as following:
When there is no id, deploy failed.
When there is only id, set id as process definition name.
When there is both id and name, set id as key, set name as name.
Please tell me you opinion, Thank you very much.
sounds reasonable to me. Please include some documentation for that to let users find it easily.