Red Hat Bugzilla – Bug 1033104
Data Modeler annotations not on classpath when roundtripping to Eclipse
Last modified: 2014-10-26 16:39:33 EDT
Description of problem:
When the user creates the initial data model in the modeler (web-ui), the cloned project in Eclipse does not have the libraries containing the org.kie.workbench.common.services.datamodeller annotations.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Create new project in business-central
2. Add new object via data modeler
4. Clone repository to be consumed by Eclipse/JBDS
5. Import Project
Compiler Errors exist on classes created by the data model as the pom has no reference to the libraries containing the data modeller annotations.
Project should be available without compiler errors.
Entered as high as PM said he wanted to take a look.
With reference to the project dependencies, I believe that if the user wants to manage/compile/run/etc the project outside the kie-wb/drools-wb (using eclipse, IntellJIdea, etc) it's up to the user to adjust the needed dependencies.
Because depending of what he wants do, he will need different dependencies. E.g. If he clones the project and wants to run a "TestScenario" created with the UI, probably he will need a set of dependencies, if he wants to run a process probably a different set of dependencies will be needed, etc.
To set "by default" dependencies in the pom.xml (when the project is created in kie-wb/drools-wb) implies to modify how the project is created.
Also, in case we add such by default dependencies it needs to be resolved how to know the correct version number (snaphsot/final ?) to use for the by default dependencies.
If this feature is needed please ask Mark Proctor or Edson Tirelli.
Then we need to provide a list of all the GAVs that should be set as default dependencies when the project is created, and a criteria to establish the version number for these GAVs.
One last comment, in order to have all model related annotations in the same package, the Label, and Description annotations were re factored to the package "org.kie.api.definition.type". There we have all drools annotations managed by the data modeller i.e @Role, @Event and @Postion, and data modeller specific annotations i.e. @Description/@Label.
The GAV for the maven artefact is:
note: the version number is orientative. (users that use the GA release in the future, probably should use 6.0.0.Final)
So take into account that previous generated testing models should be re factored.
Walter, I will check with Mark, but I think it would be good to add the dependency to kie-api into the kjar pom if the datamodeler is used to create classes.
One of the design goals of kjars is that they should be self contained, so seems correct to have any dependencies we introduce listed in the pom file.
If annotations are used, from a jar, we should probably detect and inform user the need to addd the dep (possibly offering to do it for them). I don't think we should invisibly inject it. The other option is to not add annotations, if they are not needed. So if no labels etc are specific, don't add the annotation. That would require a radio button (thus more configuration) for the rules annotations, such as @Position.
As discussed on PM call, the risk of introducing this now seems too large, so postponing this until later.
Lowering priority based on devel_ack-
This issue has been resolved by annotation refactoring. It works in current release (BRMS/BPMS 6.0.2).
I am facing same issue while building the BPM Project outside as part of the CI process, when will the release 6.0.2 be out for GA and production usage?
Currently I am on 6.0.1.