-
Bug
-
Resolution: Done
-
Blocker
-
None
Description of problem:
If a project contains a class/data object with an inner class, Data Modeler fails to load the project's model. User gets an error message:
Error: "An error occurred when the requested data model was loaded from server". The server error is: "Data model couldn't be loaded, path: PathImpl{uri='default://master@repo/project', fileName='project', attrs={}}, projectPath: PathImpl{uri='default://master@repo/project', fileName='project', attrs={}}."
The server log contains further information:
ERROR [org.kie.workbench.common.screens.datamodeller.backend.server.DataModelerServiceImpl] (http-localhost/127.0.0.1:8080-6)
Data model couldn't be loaded, path: PathImpl{uri='default://master@repo/project', fileName='project', attrs={}}, projectPath: PathImpl{uri='default://master@repo/project', fileName='project', attrs={}}.: org.uberfire.java.nio.file.NoSuchFileException
This is due to JGitUtil.checkPath(..) that throws NoSuchFileException if a file is not found - which of course happens because for each DataObjectTO from the projects model, this checkPath method is called and checks that a .java file exists. There is no such file for inner classes.
More plainly - if I have a class A that has an inner class B, I will have one file for both, A.java. But as things are now, the product searches for file A$B.java as well.
Version-Release number of selected component (if applicable):
BPMS 6.0.1 ER1
Additional info:
It is pretty much impossible to tell where is the problem just from the error message.
This issue is a regression from 6.0.0.