diff --git a/plugins/org.etsi.mts.tdl.standalone/examples/json/model.json-generated.tdltx b/plugins/org.etsi.mts.tdl.standalone/examples/json/model.json-generated.tdltx index c0da7829f143659d7baecb27a88ad1618b9bc1b9..3ba02062db10c7cb03616d7768d9d05165132ab7 100644 --- a/plugins/org.etsi.mts.tdl.standalone/examples/json/model.json-generated.tdltx +++ b/plugins/org.etsi.mts.tdl.standalone/examples/json/model.json-generated.tdltx @@ -17,6 +17,11 @@ Package generated_from_model_json { JSON_authors authors, JSON_String year ) + + JSON_books_item b2 ( + title = "Instance Book 2" + ) + JSON_model_json JSON_instance ( authors = [ ( @@ -54,7 +59,18 @@ Package generated_from_model_json { name = "Alfred" ) ] - ) + ), + b2 (), + b2 ( + year = "2023" + ), + b2 ( + title = "2023 override" + ), + b2 ( + title = "2023 override and extra year", + year = "2023" + ), ] ) Map JSON_model_json to "JSON" in SOURCE_MAPPING as JSON_SOURCE_MAPPING { diff --git a/plugins/org.etsi.mts.tdl.standalone/examples/openapi/ExampleAPI.yaml-generated.tdltx b/plugins/org.etsi.mts.tdl.standalone/examples/openapi/ExampleAPI.yaml-generated.tdltx index cced6f47720328228aca2b172e7d79dde0f8b2b3..a526f2563b77049e52b8c14973c277ad608eb8b5 100644 --- a/plugins/org.etsi.mts.tdl.standalone/examples/openapi/ExampleAPI.yaml-generated.tdltx +++ b/plugins/org.etsi.mts.tdl.standalone/examples/openapi/ExampleAPI.yaml-generated.tdltx @@ -20,11 +20,13 @@ Package generated_from_ExampleAPI_yaml { Map ResourceData to "#/components/schemas/ResourceData" in SOURCE_MAPPING as ResourceData_SOURCE_MAPPING { id -> "id", ^size -> "size", - created -> "created" } + created -> "created" + } Map ResourceData to "ResourceData" in TARGET_MAPPING as ResourceData_TARGET_MAPPING { id -> "id", ^size -> "size", - created -> "created" } + created -> "created" + } Structure Subscription ( Credentials credentials ) @@ -32,14 +34,18 @@ Package generated_from_ExampleAPI_yaml { string user ) Map Subscription to "#/components/schemas/Subscription" in SOURCE_MAPPING as Subscription_SOURCE_MAPPING { - credentials -> "credentials" } + credentials -> "credentials" + } Map Subscription to "Subscription" in TARGET_MAPPING as Subscription_TARGET_MAPPING { - credentials -> "credentials" } + credentials -> "credentials" + } Structure AuthenticatedNotification ( ) Map AuthenticatedNotification to "#/components/schemas/AuthenticatedNotification" in SOURCE_MAPPING as AuthenticatedNotification_SOURCE_MAPPING Map AuthenticatedNotification to "AuthenticatedNotification" in TARGET_MAPPING as AuthenticatedNotification_TARGET_MAPPING Map Credentials to "#/components/schemas/Credentials" in SOURCE_MAPPING as Credentials_SOURCE_MAPPING { - user -> "user" } + user -> "user" + } Map Credentials to "Credentials" in TARGET_MAPPING as Credentials_TARGET_MAPPING { - user -> "user" } + user -> "user" + } } \ No newline at end of file diff --git a/plugins/org.etsi.mts.tdl.standalone/examples/openapi/reqres.yaml b/plugins/org.etsi.mts.tdl.standalone/examples/openapi/reqres.yaml new file mode 100644 index 0000000000000000000000000000000000000000..9dad5a71c21b5e58fc34faa7d5c37c2d7120a4bf --- /dev/null +++ b/plugins/org.etsi.mts.tdl.standalone/examples/openapi/reqres.yaml @@ -0,0 +1,272 @@ +openapi: 3.0.0 +info: + title: ReqRes API + description: Fake data CRUD API + version: 1.00 +servers: + - url: https://reqres.in/api +components: + schemas: + User: + type: object + properties: + id: + type: integer + email: + type: string + first_name: + type: string + last_name: + type: string + avatar: + type: string + UnknownResource: + type: object + properties: + id: + type: integer + name: + type: string + year: + type: integer + color: + type: string + pantone_value: + type: string +paths: + /{resource}: + get: + summary: Fetches a resource list + parameters: + - in: query + name: page + schema: + type: integer + - in: query + name: per_page + schema: + type: integer + responses: + '200': + description: Success + content: + application/json: + schema: + type: object + properties: + page: + type: integer + per_page: + type: integer + total: + type: integer + total_pages: + type: integer + data: + type: array + items: + $ref: "#/components/schemas/UnknownResource" + /users: + get: + summary: Fetches a user list + parameters: + - in: query + name: page + schema: + type: integer + - in: query + name: per_page + schema: + type: integer + responses: + '200': + description: Success + content: + application/json: + schema: + type: object + properties: + page: + type: integer + per_page: + type: integer + total: + type: integer + total_pages: + type: integer + data: + type: array + items: + $ref: "#/components/schemas/User" + /users/{id}: + get: + summary: Fetches a user + parameters: + - in: path + name: id + schema: + type: integer + responses: + '200': + description: Success + content: + application/json: + schema: + type: object + properties: + data: + $ref: "#/components/schemas/User" + put: + summary: Updates a user + responses: + '200': + description: Success + content: + application/json: + schema: + type: object + properties: + updatedAt: + type: string + patch: + summary: Updates a user + responses: + '200': + description: Success + content: + application/json: + schema: + type: object + properties: + updatedAt: + type: string + delete: + summary: Deletes a user + responses: + '204': + description: Success + /{resource}/{id}: + get: + summary: Fetches an unknown resource + parameters: + - in: path + name: id + schema: + type: integer + responses: + '200': + description: Success + content: + application/json: + schema: + type: object + properties: + data: + $ref: "#/components/schemas/UnknownResource" + put: + summary: Updates an unknown resource + responses: + '200': + description: Success + content: + application/json: + schema: + type: object + properties: + updatedAt: + type: string + patch: + summary: Updates an unknown resource + responses: + '200': + description: Success + content: + application/json: + schema: + type: object + properties: + updatedAt: + type: string + delete: + summary: Deletes an unknown resource + responses: + '204': + description: Success + /login: + post: + summary: Creates a session + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + username: + type: string + email: + type: string + password: + type: string + responses: + '200': + description: Success + content: + application/json: + schema: + type: object + properties: + token: + type: string + '400': + description: Login error + content: + application/json: + schema: + type: object + properties: + error: + type: string + /register: + post: + summary: Creates a user + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + username: + type: string + email: + type: string + password: + type: string + responses: + '200': + description: Success + content: + application/json: + schema: + type: object + properties: + id: + type: string + token: + type: string + '400': + description: Register error + content: + application/json: + schema: + type: object + properties: + error: + type: string + /logout: + post: + summary: Ends a session + responses: + '200': + description: Success diff --git a/plugins/org.etsi.mts.tdl.standalone/examples/openapi/reqres.yaml-generated.tdltx b/plugins/org.etsi.mts.tdl.standalone/examples/openapi/reqres.yaml-generated.tdltx new file mode 100644 index 0000000000000000000000000000000000000000..3dc3a532865eb0e760a037a34f7905bba0143fa0 --- /dev/null +++ b/plugins/org.etsi.mts.tdl.standalone/examples/openapi/reqres.yaml-generated.tdltx @@ -0,0 +1,195 @@ +Package generated_from_reqres_yaml { + Type String + Type TODO_RESOLVE_REFERENCED + Use "reqres.yaml" as SOURCE_MAPPING + Use "generated/java" as TARGET_MAPPING + Structure User ( + integer id, + string email, + string first_name, + string last_name, + string avatar + ) + Type integer + Type string + Map User to "#/components/schemas/User" in SOURCE_MAPPING as User_SOURCE_MAPPING { + id -> "id", + email -> "email", + first_name -> "first_name", + last_name -> "last_name", + avatar -> "avatar" + } + Map User to "User" in TARGET_MAPPING as User_TARGET_MAPPING { + id -> "id", + email -> "email", + first_name -> "first_name", + last_name -> "last_name", + avatar -> "avatar" + } + Structure UnknownResource ( + integer id, + string name, + integer year, + string color, + string pantone_value + ) + Map UnknownResource to "#/components/schemas/UnknownResource" in SOURCE_MAPPING as UnknownResource_SOURCE_MAPPING { + id -> "id", + name -> "name", + year -> "year", + color -> "color", + pantone_value -> "pantone_value" + } + Map UnknownResource to "UnknownResource" in TARGET_MAPPING as UnknownResource_TARGET_MAPPING { + id -> "id", + name -> "name", + year -> "year", + color -> "color", + pantone_value -> "pantone_value" + } + Structure inline_response_200 ( + integer page, + integer per_page, + integer total, + integer total_pages, + inline_response_200______item data + ) + Collection inline_response_200______item of inline_response_200______itemUnknownResource + Structure inline_response_200______itemUnknownResource ( + integer id, + string name, + integer year, + string color, + string pantone_value + ) + Map inline_response_200 to "#/components/schemas/inline_response_200" in SOURCE_MAPPING as inline_response_200_SOURCE_MAPPING { + page -> "page", + per_page -> "per_page", + total -> "total", + total_pages -> "total_pages", + data -> "data" + } + Map inline_response_200 to "inline_response_200" in TARGET_MAPPING as inline_response_200_TARGET_MAPPING { + page -> "page", + per_page -> "per_page", + total -> "total", + total_pages -> "total_pages", + data -> "data" + } + Structure inline_response_200_1 ( + integer page, + integer per_page, + integer total, + integer total_pages, + inline_response_200_1______item data + ) + Collection inline_response_200_1______item of inline_response_200_1______itemUser + Structure inline_response_200_1______itemUser ( + integer id, + string email, + string first_name, + string last_name, + string avatar + ) + Map inline_response_200_1 to "#/components/schemas/inline_response_200_1" in SOURCE_MAPPING as inline_response_200_1_SOURCE_MAPPING { + page -> "page", + per_page -> "per_page", + total -> "total", + total_pages -> "total_pages", + data -> "data" + } + Map inline_response_200_1 to "inline_response_200_1" in TARGET_MAPPING as inline_response_200_1_TARGET_MAPPING { + page -> "page", + per_page -> "per_page", + total -> "total", + total_pages -> "total_pages", + data -> "data" + } + Structure inline_response_200_2 ( + User data + ) + Map inline_response_200_2 to "#/components/schemas/inline_response_200_2" in SOURCE_MAPPING as inline_response_200_2_SOURCE_MAPPING { + data -> "data" + } + Map inline_response_200_2 to "inline_response_200_2" in TARGET_MAPPING as inline_response_200_2_TARGET_MAPPING { + data -> "data" + } + Structure inline_response_200_3 ( + string updatedAt + ) + Map inline_response_200_3 to "#/components/schemas/inline_response_200_3" in SOURCE_MAPPING as inline_response_200_3_SOURCE_MAPPING { + updatedAt -> "updatedAt" + } + Map inline_response_200_3 to "inline_response_200_3" in TARGET_MAPPING as inline_response_200_3_TARGET_MAPPING { + updatedAt -> "updatedAt" + } + Structure inline_response_200_4 ( + UnknownResource data + ) + Map inline_response_200_4 to "#/components/schemas/inline_response_200_4" in SOURCE_MAPPING as inline_response_200_4_SOURCE_MAPPING { + data -> "data" + } + Map inline_response_200_4 to "inline_response_200_4" in TARGET_MAPPING as inline_response_200_4_TARGET_MAPPING { + data -> "data" + } + Structure login_body ( + string username, + string email, + string password + ) + Map login_body to "#/components/schemas/login_body" in SOURCE_MAPPING as login_body_SOURCE_MAPPING { + username -> "username", + email -> "email", + password -> "password" + } + Map login_body to "login_body" in TARGET_MAPPING as login_body_TARGET_MAPPING { + username -> "username", + email -> "email", + password -> "password" + } + Structure inline_response_200_5 ( + string token + ) + Map inline_response_200_5 to "#/components/schemas/inline_response_200_5" in SOURCE_MAPPING as inline_response_200_5_SOURCE_MAPPING { + token -> "token" + } + Map inline_response_200_5 to "inline_response_200_5" in TARGET_MAPPING as inline_response_200_5_TARGET_MAPPING { + token -> "token" + } + Structure inline_response_400 ( + string error + ) + Map inline_response_400 to "#/components/schemas/inline_response_400" in SOURCE_MAPPING as inline_response_400_SOURCE_MAPPING { + error -> "error" + } + Map inline_response_400 to "inline_response_400" in TARGET_MAPPING as inline_response_400_TARGET_MAPPING { + error -> "error" + } + Structure register_body ( + string username, + string email, + string password + ) + Map register_body to "#/components/schemas/register_body" in SOURCE_MAPPING as register_body_SOURCE_MAPPING { + username -> "username", + email -> "email", + password -> "password" + } + Map register_body to "register_body" in TARGET_MAPPING as register_body_TARGET_MAPPING { + username -> "username", + email -> "email", + password -> "password" + } + Structure inline_response_200_6 ( + string id, + string token + ) + Map inline_response_200_6 to "#/components/schemas/inline_response_200_6" in SOURCE_MAPPING as inline_response_200_6_SOURCE_MAPPING { + id -> "id", + token -> "token" + } + Map inline_response_200_6 to "inline_response_200_6" in TARGET_MAPPING as inline_response_200_6_TARGET_MAPPING { + id -> "id", + token -> "token" + } +} \ No newline at end of file