Skip to content

Comments

Include JSON type visualization backend support for data mapper#572

Draft
pasindufernando1 wants to merge 14 commits intoballerina-platform:data-mapper-extended-typesfrom
pasindufernando1:2044Json
Draft

Include JSON type visualization backend support for data mapper#572
pasindufernando1 wants to merge 14 commits intoballerina-platform:data-mapper-extended-typesfrom
pasindufernando1:2044Json

Conversation

@pasindufernando1
Copy link
Contributor

Copilot AI review requested due to automatic review settings December 12, 2025 03:45
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds JSON type visualization support to the data mapper backend, enabling the flow model generator to infer and represent JSON structures for data mapping operations. The implementation introduces a new RefJsonType class and extends the DataMapManager to handle JSON type inference from mapping constructor expressions and variable assignments.

Key Changes:

  • Introduced RefJsonType class to represent JSON types with field information in the connector model
  • Added JSON structure inference logic that analyzes mapping constructors to determine field types
  • Extended data mapper to track most recent JSON variable assignments for accurate type inference

Reviewed changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
misc/diagram-util/src/main/java/org/ballerinalang/diagramutil/connector/models/connector/reftypes/RefJsonType.java New class defining the JSON reference type model with fields and clone support
flow-model-generator/modules/flow-model-generator-core/src/main/java/io/ballerina/flowmodelgenerator/core/DataMapManager.java Core logic for JSON type inference, including MappingJsonPort class, JSON structure inference methods, and assignment tracking
flow-model-generator/modules/flow-model-generator-ls-extension/src/test/java/io/ballerina/flowmodelgenerator/extension/DataMappingModelTest.java Registered three new test cases for JSON data mapping scenarios
flow-model-generator/modules/flow-model-generator-ls-extension/src/test/resources/data_mapper_model/source/json.bal Test source file for JSON-to-record transformation
flow-model-generator/modules/flow-model-generator-ls-extension/src/test/resources/data_mapper_model/source/json_input.bal Test source file for JSON module variable input inference
flow-model-generator/modules/flow-model-generator-ls-extension/src/test/resources/data_mapper_model/source/json_local_input.bal Test source file for JSON local variable reassignment inference
flow-model-generator/modules/flow-model-generator-ls-extension/src/test/resources/data_mapper_model/config/json_transform.json Expected output configuration for record-to-JSON transformation test
flow-model-generator/modules/flow-model-generator-ls-extension/src/test/resources/data_mapper_model/config/json_input.json Expected output configuration for JSON module variable input test with diagnostics
flow-model-generator/modules/flow-model-generator-ls-extension/src/test/resources/data_mapper_model/config/json_local_input.json Expected output configuration for JSON local variable test

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@pasindufernando1 pasindufernando1 marked this pull request as draft December 12, 2025 04:16
@pasindufernando1 pasindufernando1 marked this pull request as ready for review December 12, 2025 15:43
@pasindufernando1 pasindufernando1 marked this pull request as draft December 22, 2025 05:00
@pasindufernando1 pasindufernando1 marked this pull request as ready for review January 5, 2026 09:57
pasindufernando1 and others added 3 commits January 22, 2026 13:36
# Conflicts:
#	flow-model-generator/modules/flow-model-generator-core/src/main/java/io/ballerina/flowmodelgenerator/core/DataMapManager.java
@pasindufernando1 pasindufernando1 changed the base branch from main to data-mapper-extended-types February 5, 2026 05:19
@pasindufernando1 pasindufernando1 marked this pull request as draft February 16, 2026 04:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Data Mapper] Enable Visualization for JSON Outputs

3 participants