SeelabFhdo / lemma

Home of the Language Ecosystem for Modeling Microservice Architecture (LEMMA)
MIT License
33 stars 8 forks source link

OpenAPI support #55

Closed josor001 closed 1 year ago

josor001 commented 2 years ago

It took my quite a while, but I finally managed to rework the previous PR 31. I addressed all the feedback to the best of my ability. Because the changes ended up being rather huge, I decided to create a complete need branch and PR. Most notable is probably that I was able to bundle the UI changes in a separate de.fhdo.lemma.service.openapi.eclipse.ui project which makes the whole functionality completely non-invasive to the existing LEMMA projects. I.e., I only touched the various .txt files in the build folder regarding integration into the build pipeline, the rest are new plugin-projects. Shipped with this PR also come two minor bug fixes in the technology and service extractors. Feedback appreciated.

frademacher commented 2 years ago

Hi.

Thank you for the effort you put into making OpenAPI support mergeable into LEMMA's main branch!

I finally came to review the PR. Instead of having another round of review, I decided to just fix the remaining issues myself. To this end, I created a new branch openapi-merge-prep at https://github.com/SeelabFhdo/lemma/tree/openapi-merge-prep. It applies the three commits of your PR on top of LEMMA's current main branch and, starting with commit d15173a, comprises ~20 additional commits to fix remaining issues. Additionally, I left some ~30 TODO comments at places in the Xtend code where I couldn't decide for a solution myself or where I was unsure about the correctness of a particular refactoring.

So, to get the highly-desired OpenAPI support finally into LEMMA's main branch it would be great if you could...

After that, the OpenAPI support should finally be ready for LEMMA's main branch.

Thanks!

P. S.: I'll also open two issues whose future solution could improve the integration of OpenAPI support even further.

frademacher commented 1 year ago

Note that I rebased the prep branch at https://github.com/SeelabFhdo/lemma/tree/openapi-merge-prep atop of main, which with commits c61003b and 13cac5a dropped the deprecated "list" type in favor of the "collection" type. To make the prep branch cope with the "list" type's removal, I added commit d3c6fa2, which makes the prep branch compile again. Please consider d3c6fa2 in your testing to make sure that the OpenAPI transformation handles "collection" types correctly, i.e., in the same way as it handled "list" types in the past.