Skip to content

Conversation

@madushajg
Copy link
Member

Purpose

$title

@madushajg madushajg requested review from gigara and hevayo as code owners July 7, 2025 07:57
@gigara gigara requested a review from Copilot July 7, 2025 08:25
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 enhances the inline data mapper by introducing a sub-mapping feature, refining environment variable handling in Webpack configs, and adding support for primitive and query-based nodes. Key changes include:

  • Replaced manual environment variable definitions with createEnvDefinePlugin in multiple webpack.config.js files.
  • Added full sub-mapping support (visitor, context, store, UI components, and node factories/widgets).
  • Introduced new node types and factories for primitive and query outputs.

Reviewed Changes

Copilot reviewed 124 out of 126 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
workspaces/**/webpack.config.js Plug in createEnvDefinePlugin with warnings on failure
workspaces/**/package.json Updated fontCharacter values for icons
workspaces/common-libs/ui-toolkit/src/components/SidePanel/SidePanel.tsx Made subPanelWidth optional with fallback calculation
workspaces/ballerina/inline-data-mapper/src/visitors/SubMappingNodeInitVisitor.ts Added visitor for sub-mapping node initialization
workspaces/ballerina/inline-data-mapper/src/visitors/IntermediateNodeInitVisitor.ts Added visitor for intermediate nodes
workspaces/ballerina/inline-data-mapper/src/visitors/IONodeInitVisitor.ts Renamed and enhanced node init visitor
workspaces/ballerina/inline-data-mapper/src/visitors/BaseVisitor.ts Extended BaseVisitor interface for sub-mappings
workspaces/ballerina/inline-data-mapper/src/utils/model-utils.ts Added traverseSubMappingType and renamed traversal helpers
workspaces/ballerina/inline-data-mapper/src/utils/DataMapperContext/DataMapperContext.ts Expanded context API (views, queries, conversions)
workspaces/ballerina/inline-data-mapper/src/store/store.ts Added stores for sub-mapping and query clauses configuration
workspaces/ballerina/inline-data-mapper/src/index.tsx Updated DataMapperViewProps and minor typo in error message
workspaces/ballerina/inline-data-mapper/src/components/Diagram/utils/modification-utils.ts Refactored mapping creation/update functions
workspaces/ballerina/inline-data-mapper/src/components/Diagram/Port/model/InputOutputPortModel.ts Dropped updateExistingMapping import in favor of new logic
workspaces/ballerina/inline-data-mapper/src/components/Diagram/Node/LinkConnector/LinkConnectorNode.ts Replaced hasInitialized with shouldInitLinks flag
Files not reviewed (1)
  • common/config/rush/pnpm-lock.yaml: Language not supported
Comments suppressed due to low confidence (3)

workspaces/ballerina/inline-data-mapper/src/components/Diagram/Node/LinkConnector/LinkConnectorNode.ts:28

  • The shouldInitLinks flag is declared but not initialized, so its default undefined value prevents any links from being created in initLinks. Initialize it to true in the constructor so links are built at least once.
import { ArrayOutputNode } from "../ArrayOutput";

workspaces/ballerina/inline-data-mapper/src/visitors/SubMappingNodeInitVisitor.ts:1

  • [nitpick] There are no corresponding unit tests for SubMappingNodeInitVisitor. Consider adding tests to verify that sub-mapping nodes are initialized correctly based on provided IOType nodes.
/**

workspaces/ballerina/inline-data-mapper/src/components/Diagram/Port/model/InputOutputPortModel.ts:88

  • The old logic that used updateExistingMapping when a target port already had links was removed, so every new link always creates a fresh mapping. Reinstate a branch to call updateExistingMapping for existing links to avoid duplicating mappings.
				await createNewMapping(lm);

@madushajg madushajg force-pushed the ballerina-inline-data-mapper branch from fb60a02 to 6a1e1aa Compare July 7, 2025 09:21
@madushajg madushajg merged commit e255939 into wso2:ballerina-inline-data-mapper Jul 7, 2025
7 checks passed
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.

3 participants