Bug 1128206 - Form Modeler is unable to load class if the process wasn't saved successfully
Summary: Form Modeler is unable to load class if the process wasn't saved successfully
Alias: None
Product: JBoss BPMS Platform 6
Classification: Retired
Component: Form Modeler
Version: 6.0.2
Hardware: Unspecified
OS: Unspecified
Target Milestone: ER3
: 6.1.0
Assignee: Pere Fernàndez
QA Contact: Andy Taylor
Depends On:
TreeView+ depends on / blocked
Reported: 2014-08-08 14:57 UTC by Anton Giertli
Modified: 2018-03-31 22:09 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed:
Type: Bug

Attachments (Terms of Use)
[0] classnotfound exception.png (193.42 KB, image/png)
2014-08-08 14:57 UTC, Anton Giertli
no flags Details

Description Anton Giertli 2014-08-08 14:57:24 UTC
Created attachment 925197 [details]
[0] 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.

Ending with
16:27:40,060 WARN  [org.jbpm.formModeler.dataModeler.integration.DataModelerService] (http-/ Unable to load class 'org.kie.User': java.lang.ClassNotFoundException: org.kie.User

in the log.

Version-Release number of selected component (if applicable):

How reproducible:

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 '' [2] 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.

Actual results:
The Data Model class  is not  picked up by Form Modeler if though the process wasn't saved successfully

Expected results:
The  Data Model class can be picked up by Form Modeler even though the process wasn't saved successfully

Additional info:

Comment 2 Anton Giertli 2014-08-08 18:29:11 UTC
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.


Comment 3 Pere Fernàndez 2014-11-17 11:39:07 UTC
Fixed since Data Modeler uses Roaster instead of ProjectDataModelerOracle to get the java files data.

Comment 4 Pere Fernàndez 2014-11-17 13:15:38 UTC
This was fixed when the Java editor changed his implementation to use the Roaster library.

Comment 5 Pavel Kralik 2015-01-12 15:04:37 UTC
Verified BPMS 6.10.ER3

Note You need to log in before you can comment on or make changes to this bug.