Draw the connection usages for service classes #683
Draw the connection usages for service classes #683NipunaRanasinghe merged 4 commits intoballerina-platform:1.6.xfrom
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing touches🧪 Generate unit tests (beta)
Comment |
8654e47 to
958c1dd
Compare
There was a problem hiding this comment.
Pull request overview
Adds support in the architecture model generator to attribute connection usage that occurs inside service classes back to the services/resources that instantiate/use those service classes (fixing wso2/product-ballerina-integrator#2396).
Changes:
- Track service-class definitions and collect their function models during syntax-tree analysis.
- Track instantiated/used classes from
newexpressions and incorporate service-class function dependencies when building the connection graph. - Add a new test project + expected design-model output to validate connection propagation through a service class.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| architecture-model-generator/modules/architecture-model-generator-core/src/main/java/io/ballerina/designmodelgenerator/core/IntermediateModel.java | Extends the intermediate representation to include service-class models and class-usage tracking. |
| architecture-model-generator/modules/architecture-model-generator-core/src/main/java/io/ballerina/designmodelgenerator/core/CodeAnalyzer.java | Detects service class definitions, associates functions with service classes, and records classes instantiated via new. |
| architecture-model-generator/modules/architecture-model-generator-core/src/main/java/io/ballerina/designmodelgenerator/core/DesignModelGenerator.java | Incorporates service-class function dependencies while computing transitive connection usage. |
| architecture-model-generator/modules/architecture-model-generator-ls-extension/src/test/resources/get_design_model/source/project_9/main.bal | Adds a sample WebSocket service that returns a service-class instance which uses an HTTP client. |
| architecture-model-generator/modules/architecture-model-generator-ls-extension/src/test/resources/get_design_model/source/project_9/Ballerina.toml | Adds package metadata for the new test project. |
| architecture-model-generator/modules/architecture-model-generator-ls-extension/src/test/resources/get_design_model/config/connections_for_service_classes.json | Adds the expected design-model output for the new service-class connection propagation scenario. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
...enerator-core/src/main/java/io/ballerina/designmodelgenerator/core/DesignModelGenerator.java
Outdated
Show resolved
Hide resolved
...-model-generator-core/src/main/java/io/ballerina/designmodelgenerator/core/CodeAnalyzer.java
Outdated
Show resolved
Hide resolved
...-model-generator-core/src/main/java/io/ballerina/designmodelgenerator/core/CodeAnalyzer.java
Show resolved
Hide resolved
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
...enerator-core/src/main/java/io/ballerina/designmodelgenerator/core/DesignModelGenerator.java
Outdated
Show resolved
Hide resolved
...l-generator-core/src/main/java/io/ballerina/designmodelgenerator/core/IntermediateModel.java
Show resolved
Hide resolved
89f195f to
72d2464
Compare
Purpose
$subject
Fixes wso2/product-ballerina-integrator#2396