Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,16 @@ public String generate(final CamelContext context) throws Exception {
element.removeAttribute("customId");
}

// ensure param elements always have the type attribute
// (the XML writer omits it when the value is the default "path")
final NodeList params = document.getElementsByTagName("param");
for (int i = 0; i < params.getLength(); i++) {
final Element param = (Element) params.item(i);
if (!param.hasAttribute("type")) {
param.setAttribute("type", "path");
}
}

boolean restConfig = restComponent != null || restContextPath != null || clientRequestValidation;
if (restConfig) {
final Element configuration = document.createElement("restConfiguration");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -260,24 +260,27 @@ private static void fixParamNodes(XmlMapper xmlMapper, JsonNode node, String ver
on.set("param", arr);
p = arr;
}
// fix required to be boolean type
if (p != null) {
for (JsonNode pc : p) {
JsonNode r = pc.get("required");
ObjectNode on = (ObjectNode) pc;
// ensure type is always present (XML writer omits the default "path")
if (on.get("type") == null) {
on.put("type", "path");
}
// fix required to be boolean type
JsonNode r = on.get("required");
if (r != null) {
String t = r.textValue();
boolean b = Boolean.parseBoolean(t);
ObjectNode on = (ObjectNode) pc;
BooleanNode bn = xmlMapper.createObjectNode().booleanNode(b);
on.set("required", bn);
}
String k = "allowableValues";
r = pc.get(k);
r = on.get(k);
if (r != null) {
// remove value node
JsonNode v = r.get("value");
if (v.isArray()) {
ObjectNode on = (ObjectNode) pc;
on.set(k, v);
on.remove("value");
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,20 @@
produces: "*/*"
param:
- name: "name"
type: "path"
to: "direct:greeting-api"
post:
- id: "post-greeting-api"
path: "/greetings/{name}"
produces: "*/*"
param:
- name: "name"
type: "path"
to: "direct:post-greeting-api"
- id: "bye-api"
path: "/bye/{name}"
produces: "*/*"
param:
- name: "name"
type: "path"
to: "direct:bye-api"
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
param:
- description: "name that need to be deleted"
name: "username"
type: "path"
- description: "Update an existent user in the store"
name: "body"
type: "body"
Expand All @@ -39,6 +40,7 @@
- dataType: "integer"
description: "ID of pet that needs to be updated"
name: "petId"
type: "path"
- collectionFormat: "multi"
description: "Name of pet that needs to be updated"
name: "name"
Expand All @@ -58,6 +60,7 @@
- dataType: "integer"
description: "ID of pet to update"
name: "petId"
type: "path"
- collectionFormat: "multi"
description: "Additional Metadata"
name: "additionalMetadata"
Expand Down Expand Up @@ -132,6 +135,7 @@
- dataType: "integer"
description: "ID of pet to return"
name: "petId"
type: "path"
to: "direct:getPetById"
- id: "getInventory"
path: "/store/inventory"
Expand All @@ -147,6 +151,7 @@
- dataType: "integer"
description: "ID of order that needs to be fetched"
name: "orderId"
type: "path"
to: "direct:getOrderById"
- id: "loginUser"
path: "/user/login"
Expand All @@ -172,6 +177,7 @@
param:
- description: "The name that needs to be fetched. Use user1 for testing. "
name: "username"
type: "path"
to: "direct:getUserByName"
delete:
- id: "deletePet"
Expand All @@ -183,6 +189,7 @@
- dataType: "integer"
description: "Pet id to delete"
name: "petId"
type: "path"
to: "direct:deletePet"
- id: "deleteOrder"
path: "/store/order/{orderId}"
Expand All @@ -192,11 +199,13 @@
- dataType: "integer"
description: "ID of the order that needs to be deleted"
name: "orderId"
type: "path"
to: "direct:deleteOrder"
- id: "deleteUser"
path: "/user/{username}"
description: "This can only be done by the logged in user."
param:
- description: "The name that needs to be deleted"
name: "username"
type: "path"
to: "direct:deleteUser"
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
param:
- description: "name that need to be updated"
name: "username"
type: "path"
- description: "Updated user object"
name: "body"
type: "body"
Expand Down Expand Up @@ -46,6 +47,7 @@
- dataType: "integer"
description: "ID of pet that needs to be updated"
name: "petId"
type: "path"
- description: "Updated name of the pet"
name: "name"
type: "formData"
Expand All @@ -62,6 +64,7 @@
- dataType: "integer"
description: "ID of pet to update"
name: "petId"
type: "path"
- description: "Additional data to pass to server"
name: "additionalMetadata"
type: "formData"
Expand Down Expand Up @@ -143,6 +146,7 @@
- dataType: "integer"
description: "ID of pet to return"
name: "petId"
type: "path"
to: "direct:getPetById"
- id: "getInventory"
path: "/store/inventory"
Expand All @@ -159,6 +163,7 @@
- dataType: "integer"
description: "ID of pet that needs to be fetched"
name: "orderId"
type: "path"
to: "direct:getOrderById"
- id: "loginUser"
path: "/user/login"
Expand All @@ -183,6 +188,7 @@
param:
- description: "The name that needs to be fetched. Use user1 for testing. "
name: "username"
type: "path"
to: "direct:getUserByName"
delete:
- id: "deletePet"
Expand All @@ -194,6 +200,7 @@
- dataType: "integer"
description: "Pet id to delete"
name: "petId"
type: "path"
to: "direct:deletePet"
- id: "deleteOrder"
path: "/store/order/{orderId}"
Expand All @@ -203,11 +210,13 @@
- dataType: "integer"
description: "ID of the order that needs to be deleted"
name: "orderId"
type: "path"
to: "direct:deleteOrder"
- id: "deleteUser"
path: "/user/{username}"
description: "This can only be done by the logged in user."
param:
- description: "The name that needs to be deleted"
name: "username"
type: "path"
to: "direct:deleteUser"
Original file line number Diff line number Diff line change
Expand Up @@ -20,22 +20,22 @@
<to uri="direct:findPetsByTags"/>
</get>
<get description="Returns a single pet" id="getPetById" path="/pet/{petId}" produces="application/xml,application/json">
<param dataType="integer" description="ID of pet to return" name="petId"/>
<param dataType="integer" description="ID of pet to return" name="petId" type="path"/>
<to uri="direct:getPetById"/>
</get>
<post consumes="application/x-www-form-urlencoded" id="updatePetWithForm" path="/pet/{petId}">
<param dataType="integer" description="ID of pet that needs to be updated" name="petId"/>
<param dataType="integer" description="ID of pet that needs to be updated" name="petId" type="path"/>
<param description="Updated name of the pet" name="name" type="formData"/>
<param description="Updated status of the pet" name="status" type="formData"/>
<to uri="direct:updatePetWithForm"/>
</post>
<delete id="deletePet" path="/pet/{petId}">
<param name="api_key" required="false" type="header"/>
<param dataType="integer" description="Pet id to delete" name="petId"/>
<param dataType="integer" description="Pet id to delete" name="petId" type="path"/>
<to uri="direct:deletePet"/>
</delete>
<post consumes="multipart/form-data" id="uploadFile" path="/pet/{petId}/uploadImage" produces="application/json">
<param dataType="integer" description="ID of pet to update" name="petId"/>
<param dataType="integer" description="ID of pet to update" name="petId" type="path"/>
<param description="Additional data to pass to server" name="additionalMetadata" type="formData"/>
<param description="file to upload" name="file" type="formData"/>
<to uri="direct:uploadFile"/>
Expand All @@ -48,11 +48,11 @@
<to uri="direct:placeOrder"/>
</post>
<get description="For valid response try integer IDs with value &gt;= 1 and &lt;= 10. Other values will generated exceptions" id="getOrderById" path="/store/order/{orderId}" produces="application/xml,application/json">
<param dataType="integer" description="ID of pet that needs to be fetched" name="orderId"/>
<param dataType="integer" description="ID of pet that needs to be fetched" name="orderId" type="path"/>
<to uri="direct:getOrderById"/>
</get>
<delete description="For valid response try integer IDs with positive integer value. Negative or non-integer values will generate API errors" id="deleteOrder" path="/store/order/{orderId}">
<param dataType="integer" description="ID of the order that needs to be deleted" name="orderId"/>
<param dataType="integer" description="ID of the order that needs to be deleted" name="orderId" type="path"/>
<to uri="direct:deleteOrder"/>
</delete>
<post consumes="*/*" description="This can only be done by the logged in user." id="createUser" path="/user">
Expand All @@ -76,16 +76,16 @@
<to uri="direct:logoutUser"/>
</get>
<get id="getUserByName" path="/user/{username}" produces="application/xml,application/json">
<param description="The name that needs to be fetched. Use user1 for testing. " name="username"/>
<param description="The name that needs to be fetched. Use user1 for testing. " name="username" type="path"/>
<to uri="direct:getUserByName"/>
</get>
<put consumes="*/*" description="This can only be done by the logged in user." id="updateUser" path="/user/{username}">
<param description="name that need to be updated" name="username"/>
<param description="name that need to be updated" name="username" type="path"/>
<param description="Updated user object" name="body" type="body"/>
<to uri="direct:updateUser"/>
</put>
<delete description="This can only be done by the logged in user." id="deleteUser" path="/user/{username}">
<param description="The name that needs to be deleted" name="username"/>
<param description="The name that needs to be deleted" name="username" type="path"/>
<to uri="direct:deleteUser"/>
</delete>
</rest>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
param:
- description: "name that need to be updated"
name: "username"
type: "path"
- description: "Updated user object"
name: "body"
type: "body"
Expand Down Expand Up @@ -46,6 +47,7 @@
- dataType: "integer"
description: "ID of pet that needs to be updated"
name: "petId"
type: "path"
- description: "Updated name of the pet"
name: "name"
type: "formData"
Expand All @@ -61,6 +63,7 @@
- dataType: "integer"
description: "ID of pet to update"
name: "petId"
type: "path"
- description: "Additional data to pass to server"
name: "additionalMetadata"
type: "formData"
Expand Down Expand Up @@ -134,6 +137,7 @@
- dataType: "integer"
description: "ID of pet to return"
name: "petId"
type: "path"
to: "direct:getPetById"
- id: "getInventory"
path: "/store/inventory"
Expand All @@ -149,6 +153,7 @@
- dataType: "integer"
description: "ID of pet that needs to be fetched"
name: "orderId"
type: "path"
to: "direct:getOrderById"
- id: "loginUser"
path: "/user/login"
Expand All @@ -172,6 +177,7 @@
param:
- description: "The name that needs to be fetched. Use user1 for testing. "
name: "username"
type: "path"
to: "direct:getUserByName"
delete:
- id: "deletePet"
Expand All @@ -183,6 +189,7 @@
- dataType: "integer"
description: "Pet id to delete"
name: "petId"
type: "path"
to: "direct:deletePet"
- id: "deleteOrder"
path: "/store/order/{orderId}"
Expand All @@ -192,11 +199,13 @@
- dataType: "integer"
description: "ID of the order that needs to be deleted"
name: "orderId"
type: "path"
to: "direct:deleteOrder"
- id: "deleteUser"
path: "/user/{username}"
description: "This can only be done by the logged in user."
param:
- description: "The name that needs to be deleted"
name: "username"
type: "path"
to: "direct:deleteUser"
Loading