Created attachment 925197 [details]
 classnotfound exception.png
Description of problem:
If the process is not saved successfully then the form modeller can't load any of the custom objects(created by data modeler) which are present in form of process variable in the process definition.
16:27:40,060 WARN [org.jbpm.formModeler.dataModeler.integration.DataModelerService] (http-/127.0.0.1:8080-5) Unable to load class 'org.kie.User': java.lang.ClassNotFoundException: org.kie.User
in the log.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Create data model, org.redhat.gss.Person
2. Create new process definition, for example, start->task->end (don't specify task type!!)
3. Save the process definition - you should see an error "Task node ''  has no work name."
4. Create process variable, user:org.kie.User
5. Save the process definition, and generate all forms
6. open the form and you can see the exception from the initial description in the log and no data are displayed
7. Even if you add data manually, via Type->Add from data model and select org.kie.User (which just proves that this part of Modeler was able to find this class) you end up with empty output and the WARN message in the logs.
The Data Model class is not picked up by Form Modeler if though the process wasn't saved successfully
The Data Model class can be picked up by Form Modeler even though the process wasn't saved successfully
Some additional info on why I consider this as a bug:
It is extremely confusing that you can see the class in the dropdown menu of Type->Add from data model. That's why it took me so long to figure this out because I couldn't understand how is it possible that even though in this menu the class is displayed in the server.log there is CNFE displayed.
It seems that to properly add data input from data modeler to the form modeler it is necessary that this class is built. And it can be built only if the whole project is built, which can happen only if the all business assets passes the validation, only after that the incremental build occurs.
So what I suggest:
-- Either document this -- that the project needs to be successfully built before form modelling can begin.
-- Also add some Notification to the UI - once you add this class via form modeler via menu Type-> Add From Data Model absolutely nothing happens in the Form. It stays empty and only output in the server.log is displayed..
-- Or completely remove this limitation, I am not familiar with the full technical background behind this but the source code for the Data Model is already there, why it needs to be built?
By the way, I have discovered this because I have simply consciously decided to begin with Form Modeling and finish the Gateway Expressions in the process definition later - so my process definition (this is the actual prerequisite in order to reproduce the issue) was invalid when I was creating the Forms.
Fixed since Data Modeler uses Roaster instead of ProjectDataModelerOracle to get the java files data.
This was fixed when the Java editor changed his implementation to use the Roaster library.
Verified BPMS 6.10.ER3