Fix minOccurrences
and maxOccurrences
Handling in X12 to Ballerina Schema Conversion
#51
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Purpose
Fixes: ballerina-platform/ballerina-library#6658 , ballerina-platform/ballerina-library#6610
This PR addresses two issues in the EDI tool:
minOccurrences
andmaxOccurrences
in Schema.json from X12 XSD Files:This fix resolves an issue where maxOccurrences/minOccurrences values from X12 XSD files were not accurately converted into schema.json, leading all values to default to 1 irrespective of the defined occurrences in the XSD.
This is a part of the sample X12 file;
![](https://private-user-images.githubusercontent.com/39415471/346002492-e7145693-7d39-4515-bb43-3df08b40ee7c.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkwNTE4NzIsIm5iZiI6MTczOTA1MTU3MiwicGF0aCI6Ii8zOTQxNTQ3MS8zNDYwMDI0OTItZTcxNDU2OTMtN2QzOS00NTE1LWJiNDMtM2RmMDhiNDBlZTdjLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA4VDIxNTI1MlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTM5MzRkNjgzYjBkZjYxNjk2NDkwMTlmMzk4MGUxNTE2ZWQ0ODcwNTE4YWUyMDg5OGYzMDNjNmY5NWM3ZGFhNTQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.k-xZtoJZ8I13nJ8MbrBqdmnVfwYDbbhktcp2G9auFjs)
Before Fix: Values of maxOccurrences and minOccurrences are not properly converted into Ballerina EDI schema.
![](https://private-user-images.githubusercontent.com/39415471/346005757-4d5f4f46-8f4c-465e-b2e4-195a35058ec8.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkwNTE4NzIsIm5iZiI6MTczOTA1MTU3MiwicGF0aCI6Ii8zOTQxNTQ3MS8zNDYwMDU3NTctNGQ1ZjRmNDYtOGY0Yy00NjVlLWIyZTQtMTk1YTM1MDU4ZWM4LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA4VDIxNTI1MlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWE2ZjBmYjg1ZTI5Y2I4YmMzZmYxNWIwNjIzZjgyYjhmYTc1NGVlYmIzZDdlMzlkZWJhNmY4YTE4NjAzOGExZmQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.X_wsIlBvQor10NuuvpXrOgvffbIY_SBOZz1Zis1zOQ4)
After Fix: The same segment now correctly converts to schema.json with maxOccurrences and minOccurrences.
![](https://private-user-images.githubusercontent.com/39415471/346005888-375737e3-288d-428c-81e8-609c113c557d.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkwNTE4NzIsIm5iZiI6MTczOTA1MTU3MiwicGF0aCI6Ii8zOTQxNTQ3MS8zNDYwMDU4ODgtMzc1NzM3ZTMtMjg4ZC00MjhjLTgxZTgtNjA5YzExM2M1NTdkLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA4VDIxNTI1MlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTNlZDA3MTM0MTRiZmI2YzMxMDU2Y2ExMWY0YjM3NGY1OWQ5OGFhZjlkMDkyMTZiOTAzNDMzMDhmNDBlMjA4YzkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.JKF_9NbZ56dW4za2ZVUhfNaYYxgaidBGekcsvHOq4zQ)
2. Enabling Documentation Comments in Generated Code:
Add documentation comments to the automatically generated public functions, enhancing the developer experience of the connector user.
Before Fix:
![](https://private-user-images.githubusercontent.com/39415471/346003161-6ae96188-293a-4569-bcd8-0d9fc5083e87.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkwNTE4NzIsIm5iZiI6MTczOTA1MTU3MiwicGF0aCI6Ii8zOTQxNTQ3MS8zNDYwMDMxNjEtNmFlOTYxODgtMjkzYS00NTY5LWJjZDgtMGQ5ZmM1MDgzZTg3LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA4VDIxNTI1MlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPThiNzA3YWRlMWZmNzgyODJlNzJlYTBmZDc3OTJkNjA3NDYyMzdkYzFhMThjZGY2NDMyZjZmYjRiMmE5NTU4ODQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.On60TJDYU5A2TjA_bR09zp44U1xWkBScGhCupUpoxzE)
![](https://private-user-images.githubusercontent.com/39415471/346003124-1afa700a-a501-4b91-91eb-cee3856809af.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkwNTE4NzIsIm5iZiI6MTczOTA1MTU3MiwicGF0aCI6Ii8zOTQxNTQ3MS8zNDYwMDMxMjQtMWFmYTcwMGEtYTUwMS00YjkxLTkxZWItY2VlMzg1NjgwOWFmLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA4VDIxNTI1MlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWYzNGM4MjNlMTdkMGE2ZGIyOTUxYTFiN2JkYWE4NGU5YmE2YTc3MDdkOTRkZTIzZGY4ODA4ZGM1ZDdmNTYxYjAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0._lB7Q0cVUKvGOPcuUTBF9fe1Z_HOqopXL45OKv_QwBM)
After Fix: