apache / incubator-kie-issues

Apache License 2.0
12 stars 1 forks source link

Validation errors when using older .dmn files in 10 #1617

Closed gbuckholtz closed 2 weeks ago

gbuckholtz commented 2 weeks ago

I have a project with some old dmn files (the vscode kie dmn editor says 1.5), and they are getting validation issues now when I try to work with them in the kie editor. One model imports another, and the importing one says the source has validation errors. When you try to do a maven install on it, the build fails with validation errors.

Here is a repo that encapsulates the problem.. and solution! Thanks to Gabriele Cardosi for providing the solution. The solution is at the head of the repo and the broken version is one revision behind.

Problem models

zulip thread

gbuckholtz commented 2 weeks ago

One more addition here. I tried to compile using maven the fix to my sample code from Gabriele but got a dependency missing error plus some scary warnings.

macbook-pro:sror gbuckholtz$ mvn clean test
[INFO] Scanning for projects...
[INFO] 
[INFO] --------------------------< ca.queensu:sror >---------------------------
[INFO] Building sror 1.0-SNAPSHOT
[INFO]   from pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[WARNING] The POM for org.kie:kie-dmn-model:jar:999-20241113.023212-108 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
[WARNING] The POM for org.kie:kie-dmn-backend:jar:999-20241113.023212-107 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
[WARNING] The POM for org.kie:kie-dmn-feel:jar:999-20241113.023212-107 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
[WARNING] The POM for org.drools:drools-wiring-api:jar:999-20241113.023212-108 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
[WARNING] The POM for org.drools:drools-wiring-static:jar:999-20241113.023212-108 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
[WARNING] The POM for org.drools:drools-compiler:jar:999-20241113.023212-108 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
Downloading from apache.snapshots: https://repository.apache.org/snapshots/org/drools/drools-model/999-SNAPSHOT/maven-metadata.xml
Downloading from apache-public-repository-group: https://repository.apache.org/content/groups/public/org/drools/drools-model/999-SNAPSHOT/maven-metadata.xml
Downloaded from apache-public-repository-group: https://repository.apache.org/content/groups/public/org/drools/drools-model/999-SNAPSHOT/maven-metadata.xml (599 B at 438 B/s)
Downloaded from apache.snapshots: https://repository.apache.org/snapshots/org/drools/drools-model/999-SNAPSHOT/maven-metadata.xml (599 B at 438 B/s)
Downloading from apache-public-repository-group: https://repository.apache.org/content/groups/public/org/drools/drools-model/999-SNAPSHOT/drools-model-999-20241113.023212-108.pom
Downloaded from apache-public-repository-group: https://repository.apache.org/content/groups/public/org/drools/drools-model/999-SNAPSHOT/drools-model-999-20241113.023212-108.pom (2.2 kB at 17 kB/s)
[WARNING] The POM for org.drools:drools-canonical-model:jar:999-20241113.023212-108 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
Downloading from apache-public-repository-group: https://repository.apache.org/content/groups/public/org/drools/drools-model-compiler/999-SNAPSHOT/maven-metadata.xml
Downloading from apache.snapshots: https://repository.apache.org/snapshots/org/drools/drools-model-compiler/999-SNAPSHOT/maven-metadata.xml
Downloaded from apache-public-repository-group: https://repository.apache.org/content/groups/public/org/drools/drools-model-compiler/999-SNAPSHOT/maven-metadata.xml (1.6 kB at 6.4 kB/s)
Downloaded from apache.snapshots: https://repository.apache.org/snapshots/org/drools/drools-model-compiler/999-SNAPSHOT/maven-metadata.xml (1.6 kB at 6.4 kB/s)
Downloading from apache-public-repository-group: https://repository.apache.org/content/groups/public/org/drools/drools-model-compiler/999-SNAPSHOT/drools-model-compiler-999-20241113.023212-108.pom
Downloaded from apache-public-repository-group: https://repository.apache.org/content/groups/public/org/drools/drools-model-compiler/999-SNAPSHOT/drools-model-compiler-999-20241113.023212-108.pom (3.1 kB at 25 kB/s)
[WARNING] The POM for org.drools:drools-model-compiler:jar:999-20241113.023212-108 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
[WARNING] The POM for org.drools:drools-mvel-parser:jar:999-20241113.023212-108 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
[WARNING] The POM for org.drools:drools-model-codegen:jar:999-20241113.023212-108 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
[WARNING] The POM for com.fasterxml.jackson.core:jackson-annotations:jar:2.12.6-SNAPSHOT is missing, no dependency information available
[WARNING] The POM for com.fasterxml.jackson.core:jackson-annotations:jar:2.13.1-SNAPSHOT is missing, no dependency information available
[WARNING] The POM for com.fasterxml.jackson.core:jackson-annotations:jar:2.13.2-SNAPSHOT is missing, no dependency information available
[WARNING] The POM for com.fasterxml.jackson.core:jackson-annotations:jar:2.13.3-SNAPSHOT is missing, no dependency information available
[WARNING] The POM for org.drools:drools-commands:jar:999-20241113.023212-108 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
[WARNING] The POM for org.drools:drools-scenario-simulation-backend:jar:999-SNAPSHOT is missing, no dependency information available
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  4.315 s
[INFO] Finished at: 2024-11-13T15:41:14-05:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project sror: Could not resolve dependencies for project ca.queensu:sror:jar:1.0-SNAPSHOT: The following artifacts could not be resolved: org.drools:drools-scenario-simulation-backend:jar:999-SNAPSHOT (absent): Could not find artifact org.drools:drools-scenario-simulation-backend:jar:999-SNAPSHOT -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException
macbook-pro:sror gbuckholtz$ 
jomarko commented 2 weeks ago

Hi, thank you for the ticket.

the broken version is one revision behind.

I am not sure I understand. Could you please share explicitly the commit [1] that I should use as head to see the issue we are solving in this ticket #1617?

[1] https://github.com/gbuckholtz/dmn10migration/commits/main/

gitgabrio commented 2 weeks ago

Thanks @gbuckholtz to share this. A couple of observations:

  1. I'm afraid all those pom/dependencies warning/issue could be related to some underlying ci/cd issue (I mean artifact deployment, or similar): I can't be 100% sure because for my work I usually build everything locally, but in the latest time we have observed something related different times
  2. it is not clear to me which editor you are using: AFAIK the latest one automatically convert the models to latest version, but the ones you originally provided were "old" versions
  3. it is not clear to me, too, if you still have problems with my fix.

@yesamer could provide better explanation of which editor is the one to use

yesamer commented 2 weeks ago

Hi @gbuckholtz, I partially followed your request, I know @gitgabrio supported you a lot, but there's something I still do not understand about your case and I would appreciate it if you clarify

So, I don't understand what your problem is, can you please clarify which extension are you using and what are validation error messages you see? I mean, if you're using Kie DMN editor (0.32.0), your original DMN file 1.2 should be open without any issues.

gbuckholtz commented 2 weeks ago

Thanks @gbuckholtz to share this. A couple of observations:

  1. I'm afraid all those pom/dependencies warning/issue could be related to some underlying ci/cd issue (I mean artifact deployment, or similar): I can't be 100% sure because for my work I usually build everything locally, but in the latest time we have observed something related different times
  2. it is not clear to me which editor you are using: AFAIK the latest one automatically convert the models to latest version, but the ones you originally provided were "old" versions
  3. it is not clear to me, too, if you still have problems with my fix.

@yesamer could provide better explanation of which editor is the one to use

1. I agree. As a test, I deleted all drools artifacts from my local repo and it compiles now. However I am getting a new validation error in the .dmn files you upgraded:

INFO] DMNValidator initialized.
[ERROR] One of the supplied DMN Models has failed validation; cannot proceed to validation of the remaining DMN Models.
[ERROR] DMN: Failed XML validation of DMN file: cvc-elt.1.a: Cannot find the declaration of element 'dmn:definitions'. (DMN model failed XML schema validation) 
[ERROR] DMN: One of the supplied DMN Models has failed validation; cannot proceed to validation of the remaining DMN Models. (DMN Validation stopped on failed validation for some DMN Model) 
  1. I am using this version: Screenshot 2024-11-14 at 8 54 10 AM
gbuckholtz commented 2 weeks ago

Hi @gbuckholtz, I partially followed your request, I know @gitgabrio supported you a lot, but there's something I still do not understand about your case and I would appreciate it if you clarify

  • Your original DMN version files, before @gitgabrio changes, were 1.2
  • The latest Kie DMN editor (0.32.0) can support up to 1.2 version - That extension cannot migrate DMN files to 1.5

So, I don't understand what your problem is, can you please clarify which extension are you using and what are validation error messages you see? I mean, if you're using Kie DMN editor (0.32.0), your original DMN file 1.2 should be open without any issues.

Hi!

The editor does open up and I see the model Screenshot 2024-11-14 at 8 58 03 AM

However, I do have a problem importing models:

Screenshot 2024-11-14 at 8 58 28 AM

Both the editor and maven think that there are validation problems: Screenshot 2024-11-14 at 8 58 55 AM

gitgabrio commented 2 weeks ago

@gbuckholtz I get confused here. As @yesamer wrote

The latest Kie DMN editor (0.32.0) can support up to 1.2 version - That extension cannot migrate DMN files to 1.5

but it seems you are using that.... @yesamer could you please clarify if that editor uses the jitexecutor, behind, for validation ?And, in that case, if it is bound to a specific version ?

yesamer commented 2 weeks ago

@gitgabrio KIE DMN Editor 0.32.0 was released more than 1 year ago, it doesn't support DMN 1.5 and it doesn't integrate JITexector at all. @gbuckholtz Can you please share a quick video or multiple screenshots that make it clear the source of the editor screenshots you posted?

gbuckholtz commented 2 weeks ago

@gitgabrio KIE DMN Editor 0.32.0 was released more than 1 year ago, it doesn't support DMN 1.5 and it doesn't integrate JITexector at all. @gbuckholtz Can you please share a quick video or multiple screenshots that make it clear the source of the editor screenshots you posted?

I did take a snapshot of the extension and version of the vscode extension earlier in this thread. Is there something else I should look at to find the version of the editor I am using? Is there a way to get a newer version? Perhaps the extension has been renamed and I need a new extension?

yesamer commented 2 weeks ago

@gbuckholtz The point is that KIE DMN Editor 0.32.0 is not compatible with the screenshots you provided. To give you an example, this is the expected editor in 0.32.0

https://github.com/user-attachments/assets/ac8cd304-7e93-4845-aef7-8e99ba4112d3

Can you please check if you have another extension in your VSCode that can open DMN files? Maybe BAMOE Developer Tools extension?

gbuckholtz commented 2 weeks ago

@gbuckholtz The point is that KIE DMN Editor 0.32.0 is not compatible with the screenshots you provided. To give you an example, this is the expected editor in 0.32.0

Screen.Recording.2024-11-14.at.16.17.36.mov Can you please check if you have another extension in your VSCode that can open DMN files? Maybe BAMOE Developer Tools extension?

You are absolutely correct @yesamer ! At some point I installed BAMOE. I was probably trying to address my model problems. I have 0.32.0 running now but I am afraid that all this tinkering with the model has broken it now

  1. BAMOE reading and probably writing its own tweaks in
  2. manually upgrading the model using @gitgabrio 's model tweaks

I now have a model that is 1.5 and a viewer that won't support that version. :(

Would you recommend that I just rebuild these two in the 0.32.0 KIE editor at this point?

Screenshot 2024-11-14 at 3 45 28 PM

jomarko commented 2 weeks ago

Would you recommend that I just rebuild these two in the 0.32.0 KIE editor at this point?

From my point of view, that is best option, if you want to use a scesim files for testing your dmn models. Because currently we do not have scesim editor, that would allow to test mentioned dmn 1.5 models.

Our current latest dmn editor is good at opening older dmn models. I believe also our new scesim editor will be able to open older scesim files. What I want to say is, once new scesim editor that support dmn 1.5+ models is available, the migration for the new tooling should be not so difficult.

yesamer commented 2 weeks ago

In addition to what @jomarko said:

  1. In the next few days, we will update 0.32.0 KIE editor to version 10 which will contain BOTH editors, the new one (that supports DMN 1.5) and the old one (version 1.2)
  2. BAMOE developer tools extension contains BOTH editors as well. To switch it from new to old, follow these steps: https://github.com/user-attachments/assets/8948cd78-e092-41a9-9ddf-177abd484ed3
  3. Considering you need scesim, I agree with @jomarko. Please use the old DMN editor because currently scesim supports DMN 1.2 only
gbuckholtz commented 2 weeks ago

Thanks so much for your advice.

yesamer commented 2 weeks ago

Closing as there is no further action requested by the dev team, this kind of inconsistency will be fixed when both the new DMN Editor and Scesim Editor are fully released.