wso2 / product-ballerina-integrator

AI-powered, low-code integration tool built on the Ballerina programming language.
Apache License 2.0
0 stars 1 forks source link

Creating resources manually through low code #3

Open manishagupta81 opened 1 day ago

manishagupta81 commented 1 day ago

Description

Issue with Adding Resource in WSO2 Quick Start Guide

While following the WSO2 Quick Start Guide to create a new resource, I encountered issues when adding a resource manually through Connections -> externalEP -> get. Here are the details:

Steps to Reproduce

  1. Entered the resource path /zvdz/mi-qsg/v1.0 (without quotes).
    • The path was truncated.
  2. Entered the resource path with quotes "/zvdz/mi-qsg/v1.0".
    • The resource was added, but the following errors were displayed:
      • invalid type for worker send 'ballerina/http:2.12.2:Client', expected value:Cloneable
      • invalid usage of the 'check' expression operator: no expression type is equivalent to error type
      • undefined worker '$missingNode$_0'
      • missing function keyword

Observation

When I generated the resource using AI, it ran successfully without any errors.

Steps to Reproduce

I still need to try with my upgraded VSCode and mac os

Steps to Reproduce

  1. Add everything manually.
  2. Enter the resource path /zvdz/mi-qsg/v1.0 (without quotes).
    • The path was truncated.
  3. Entered the resource path with quotes "/zvdz/mi-qsg/v1.0".
    • The resource was added, but the following errors were displayed:
      • invalid type for worker send 'ballerina/http:2.12.2:Client', expected value:Cloneable
      • invalid usage of the 'check' expression operator: no expression type is equivalent to error type
      • undefined worker '$missingNode$_0'
      • missing function keyword

Version

VS Code version 1.95

Environment Details (with versions)

macOS Sequoia 15.1

manishagupta81 commented 1 day ago
Screenshot 2024-11-11 at 9 19 41 PM Screenshot 2024-11-11 at 9 21 00 PM Screenshot 2024-11-11 at 9 21 16 PM
hasithaa commented 1 day ago

Thank you for reporting this issue.

This is a known limitation in the current form. Currently, only special alphanumeric characters separated by a slash (/) are supported. To include special characters, they need to be escaped using \. We are working on a fix that will be available in a future update.

Workaround

Use the following rules to make the URI path compatible with Ballerina syntax:

Rules:

  1. Paths should start with a slash, but should not end with a slash.
  2. Path subdirectories must contain alphanumeric characters and start with a letter.
  3. Path subdirectories are separated by slashes.
  4. To escape special characters and leading numbers, use a backslash (\).
    • Example:
      • /zvdz/mi-qsg/v1.0 becomes /zvdz/mi\-qsg/v1\.0.
      • /abc/123/ becomes /abc/\123
  5. Ballerina keywords such as json, string, int, service, client, etc. should be prefixed with a single quote (').
    • Example: 'service, 'int, 'client.

Recover Existing Code

Proposed Solution Expected from the Team:

  1. Immediate: Add basic form validation for the response path field to validate the above rules.
  2. Future: Improve the UX to handle each URI subdirectory separately and manage encoding/decoding for Ballerina syntax.