This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch CAMEL-26245-api-signature-substitution in repository https://gitbox.apache.org/repos/asf/camel.git
commit f6ec5e999dac15a09f7f07bc8d13185527f0b4ba Author: Claus Ibsen <[email protected]> AuthorDate: Tue Nov 3 15:28:54 2026 +0100 CAMEL-26245: camel-api-component-maven-plugin - use the substituted argument names in the method signatures The method signatures in @ApiMethod (and so in the catalog) kept the argument names of the parsed source, while the endpoint expects the names after the <substitution> in the pom.xml. For example google-mail showed modify(String userId, String id, ModifyMessageRequest content), but the option is modifyMessageRequest, so inBody=content failed with "No matching method". The generator now writes each signature with the argument names of the method model after substitution. Regenerated braintree, google-calendar, google-drive, google-mail, google-sheets and zendesk (the components that use substitutions) and their catalog JSON. Co-Authored-By: Claude Opus 5.5 <[email protected]> Signed-off-by: Claus Ibsen <[email protected]> --- .../apache/camel/catalog/components/braintree.json | 8 +-- .../camel/catalog/components/google-calendar.json | 10 +-- .../camel/catalog/components/google-drive.json | 6 +- .../camel/catalog/components/google-mail.json | 2 +- .../camel/catalog/components/google-sheets.json | 4 +- .../apache/camel/catalog/components/zendesk.json | 2 +- ...erchantAccountGatewayEndpointConfiguration.java | 2 +- .../OAuthGatewayEndpointConfiguration.java | 2 +- .../PaymentMethodGatewayEndpointConfiguration.java | 2 +- .../TransactionGatewayEndpointConfiguration.java | 2 +- .../camel/component/braintree/braintree.json | 8 +-- .../calendar/CalendarAclEndpointConfiguration.java | 2 +- .../CalendarCalendarListEndpointConfiguration.java | 2 +- .../CalendarChannelsEndpointConfiguration.java | 2 +- .../CalendarEventsEndpointConfiguration.java | 2 +- .../CalendarSettingsEndpointConfiguration.java | 2 +- .../component/google/calendar/google-calendar.json | 10 +-- .../drive/DriveChangesEndpointConfiguration.java | 2 +- .../drive/DriveChannelsEndpointConfiguration.java | 2 +- .../drive/DriveFilesEndpointConfiguration.java | 2 +- .../camel/component/google/drive/google-drive.json | 6 +- .../GmailUsersMessagesEndpointConfiguration.java | 2 +- .../camel/component/google/mail/google-mail.json | 2 +- .../SheetsSpreadsheetsEndpointConfiguration.java | 2 +- ...etsSpreadsheetsValuesEndpointConfiguration.java | 2 +- .../component/google/sheets/google-sheets.json | 4 +- .../zendesk/ZendeskEndpointConfiguration.java | 2 +- .../apache/camel/component/zendesk/zendesk.json | 2 +- .../maven/AbstractApiMethodGeneratorMojo.java | 59 +++++++++++++++++- .../ApiJavaSourceComponentGeneratorMojoTest.java | 29 +++++++++ .../maven/SignatureWithArgumentNamesTest.java | 72 ++++++++++++++++++++++ 31 files changed, 207 insertions(+), 49 deletions(-) diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/braintree.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/braintree.json index 87b5f7f9b91c..8a92624218ca 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/braintree.json +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/braintree.json @@ -57,15 +57,15 @@ "customer": { "consumerOnly": false, "producerOnly": true, "description": "Provides methods to create, delete, find, and update Customer objects", "methods": { "all": { "description": "Finds all Customers and returns a ResourceCollection", "signatures": [ "com.braintreegateway.ResourceCollection<com.braintreegateway.Customer> all()" ] }, "create": { "description": "Creates a Customer", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Customer> create(com.braintreegat [...] "dispute": { "consumerOnly": false, "producerOnly": true, "description": "Provides methods to interact with Dispute objects", "methods": { "accept": { "description": "Accept a Dispute, given a dispute ID", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Dispute> accept(String id)" ] }, "addFileEvidence": { "description": "Add File Evidence to a Dispute, given an ID and a FileEvidenceRequest File evidence request", "signatures": [ "com.braintreegateway.Result<com.bra [...] "documentUpload": { "consumerOnly": false, "producerOnly": true, "description": "API to upload evidence documents", "methods": { "create": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.DocumentUpload> create(com.braintreegateway.DocumentUploadRequest request)" ] } } }, - "merchantAccount": { "consumerOnly": false, "producerOnly": true, "description": "Provides methods to create, find, and update MerchantAccount objects", "methods": { "all": { "description": "", "signatures": [ "com.braintreegateway.PaginatedCollection<com.braintreegateway.MerchantAccount> all()" ] }, "createForCurrency": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.MerchantAccount> createForCurrency(com.braintreegateway.MerchantAccountCreateF [...] - "oauth": { "consumerOnly": false, "producerOnly": true, "description": "", "methods": { "connectUrl": { "description": "", "signatures": [ "String connectUrl(com.braintreegateway.OAuthConnectUrlRequest request)" ] }, "createTokenFromCode": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.OAuthCredentials> createTokenFromCode(com.braintreegateway.OAuthCredentialsRequest request)" ] }, "createTokenFromRefreshToken": { "description": "", "signatures [...] - "paymentMethod": { "consumerOnly": false, "producerOnly": true, "description": "Provides methods to interact with payments", "methods": { "create": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.? extends PaymentMethod> create(com.braintreegateway.PaymentMethodRequest request)" ] }, "delete": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.? extends PaymentMethod> delete(String token)", "com.braintreegatew [...] + "merchantAccount": { "consumerOnly": false, "producerOnly": true, "description": "Provides methods to create, find, and update MerchantAccount objects", "methods": { "all": { "description": "", "signatures": [ "com.braintreegateway.PaginatedCollection<com.braintreegateway.MerchantAccount> all()" ] }, "createForCurrency": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.MerchantAccount> createForCurrency(com.braintreegateway.MerchantAccountCreateF [...] + "oauth": { "consumerOnly": false, "producerOnly": true, "description": "", "methods": { "connectUrl": { "description": "", "signatures": [ "String connectUrl(com.braintreegateway.OAuthConnectUrlRequest connectRequest)" ] }, "createTokenFromCode": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.OAuthCredentials> createTokenFromCode(com.braintreegateway.OAuthCredentialsRequest request)" ] }, "createTokenFromRefreshToken": { "description": "", "sig [...] + "paymentMethod": { "consumerOnly": false, "producerOnly": true, "description": "Provides methods to interact with payments", "methods": { "create": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.? extends PaymentMethod> create(com.braintreegateway.PaymentMethodRequest request)" ] }, "delete": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.? extends PaymentMethod> delete(String token)", "com.braintreegatew [...] "paymentMethodNonce": { "consumerOnly": false, "producerOnly": true, "description": "Provides methods to interact with nonce payments", "methods": { "create": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.PaymentMethodNonce> create(String paymentMethodToken)", "com.braintreegateway.Result<com.braintreegateway.PaymentMethodNonce> create(com.braintreegateway.PaymentMethodNonceRequest request)" ] }, "find": { "description": "", "signatures": [ "c [...] "plan": { "consumerOnly": false, "producerOnly": true, "description": "", "methods": { "all": { "description": "", "signatures": [ "java.util.List<com.braintreegateway.Plan> all()" ] }, "create": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Plan> create(com.braintreegateway.PlanRequest request)" ] }, "find": { "description": "", "signatures": [ "com.braintreegateway.Plan find(String id)" ] }, "update": { "description": "", "signatures": [ "co [...] "report": { "consumerOnly": false, "producerOnly": true, "description": "Provides methods to interact with reports", "methods": { "transactionLevelFees": { "description": "Retrieves a Transaction-Level Fee Report", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.TransactionLevelFeeReport> transactionLevelFees(com.braintreegateway.TransactionLevelFeeReportRequest request)" ] } } }, "settlementBatchSummary": { "consumerOnly": false, "producerOnly": true, "description": "Provides methods to interact wit settlement summaries", "methods": { "generate": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.SettlementBatchSummary> generate(java.util.Calendar settlementDate)", "com.braintreegateway.Result<com.braintreegateway.SettlementBatchSummary> generate(java.util.Calendar settlementDate, String groupByCustomField)" ] } } }, "subscription": { "consumerOnly": false, "producerOnly": true, "description": "Provides methods to interact with Subscriptions", "methods": { "cancel": { "description": "Cancels the Subscription with the given id", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Subscription> cancel(String id)" ] }, "create": { "description": "Creates a Subscription", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Subscription> create(com.braintreegateway.Subscrip [...] - "transaction": { "consumerOnly": false, "producerOnly": true, "description": "Provides methods to interact with Transactions", "methods": { "adjustAuthorization": { "description": "Submits the transaction with the given id to be adjusted for the given amount which must be less than or equal to the authorization amount", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Transaction> adjustAuthorization(String id, com.braintreegateway.TransactionRequest request)", "com. [...] + "transaction": { "consumerOnly": false, "producerOnly": true, "description": "Provides methods to interact with Transactions", "methods": { "adjustAuthorization": { "description": "Submits the transaction with the given id to be adjusted for the given amount which must be less than or equal to the authorization amount", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Transaction> adjustAuthorization(String id, com.braintreegateway.TransactionRequest request)", "com. [...] "usBankAccount": { "consumerOnly": false, "producerOnly": true, "description": "", "methods": { "find": { "description": "", "signatures": [ "com.braintreegateway.UsBankAccount find(String token)" ] }, "sale": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Transaction> sale(String token, com.braintreegateway.TransactionRequest transactionRequest)" ] } } }, "webhookNotification": { "consumerOnly": false, "producerOnly": true, "description": "To retrieve notifications via webhooks", "methods": { "parse": { "description": "", "signatures": [ "com.braintreegateway.WebhookNotification parse(String signature, String payload)" ] }, "parseWithoutSignatureVerification": { "description": "", "signatures": [ "com.braintreegateway.WebhookNotification parseWithoutSignatureVerification(String payload)" ] }, "verify": { "description": "", "signatures [...] }, diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-calendar.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-calendar.json index 65d7649f4ca1..1fcd8a654413 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-calendar.json +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-calendar.json @@ -84,13 +84,13 @@ "user": { "index": 33, "kind": "parameter", "displayName": "User", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.google.calendar.GoogleCalendarConfiguration", "configurationField": "configuration", "description": "The email address of the user the application is trying to impersonate in the se [...] }, "apis": { - "acl": { "consumerOnly": false, "producerOnly": false, "description": "The acl collection of methods", "methods": { "delete": { "description": "Deletes an access control rule", "signatures": [ "com.google.api.services.calendar.Calendar$Acl$Delete delete(String calendarId, String ruleId)" ] }, "get": { "description": "Returns an access control rule", "signatures": [ "com.google.api.services.calendar.Calendar$Acl$Get get(String calendarId, String ruleId)" ] }, "insert": { "description" [...] + "acl": { "consumerOnly": false, "producerOnly": false, "description": "The acl collection of methods", "methods": { "delete": { "description": "Deletes an access control rule", "signatures": [ "com.google.api.services.calendar.Calendar$Acl$Delete delete(String calendarId, String ruleId)" ] }, "get": { "description": "Returns an access control rule", "signatures": [ "com.google.api.services.calendar.Calendar$Acl$Get get(String calendarId, String ruleId)" ] }, "insert": { "description" [...] "calendars": { "consumerOnly": false, "producerOnly": false, "description": "The calendars collection of methods", "methods": { "clear": { "description": "Clears a primary calendar", "signatures": [ "com.google.api.services.calendar.Calendar$Calendars$Clear clear(String calendarId)" ] }, "delete": { "description": "Deletes a secondary calendar", "signatures": [ "com.google.api.services.calendar.Calendar$Calendars$Delete delete(String calendarId)" ] }, "get": { "description": "Returns [...] - "channels": { "consumerOnly": false, "producerOnly": false, "description": "The channels collection of methods", "methods": { "stop": { "description": "Stop watching resources through this channel", "signatures": [ "com.google.api.services.calendar.Calendar$Channels$Stop stop(com.google.api.services.calendar.model.Channel content)" ] } } }, - "events": { "consumerOnly": false, "producerOnly": false, "description": "The events collection of methods", "methods": { "calendarImport": { "description": "Imports an event", "signatures": [ "com.google.api.services.calendar.Calendar$Events$CalendarImport calendarImport(String calendarId, com.google.api.services.calendar.model.Event content)" ] }, "delete": { "description": "Deletes an event", "signatures": [ "com.google.api.services.calendar.Calendar$Events$Delete delete(String ca [...] + "channels": { "consumerOnly": false, "producerOnly": false, "description": "The channels collection of methods", "methods": { "stop": { "description": "Stop watching resources through this channel", "signatures": [ "com.google.api.services.calendar.Calendar$Channels$Stop stop(com.google.api.services.calendar.model.Channel contentChannel)" ] } } }, + "events": { "consumerOnly": false, "producerOnly": false, "description": "The events collection of methods", "methods": { "calendarImport": { "description": "Imports an event", "signatures": [ "com.google.api.services.calendar.Calendar$Events$CalendarImport calendarImport(String calendarId, com.google.api.services.calendar.model.Event content)" ] }, "delete": { "description": "Deletes an event", "signatures": [ "com.google.api.services.calendar.Calendar$Events$Delete delete(String ca [...] "freebusy": { "consumerOnly": false, "producerOnly": false, "description": "The freebusy collection of methods", "methods": { "query": { "description": "Returns free\/busy information for a set of calendars", "signatures": [ "com.google.api.services.calendar.Calendar$Freebusy$Query query(com.google.api.services.calendar.model.FreeBusyRequest content)" ] } } }, - "list": { "consumerOnly": false, "producerOnly": false, "description": "The calendarList collection of methods", "methods": { "delete": { "description": "Removes a calendar from the user's calendar list", "signatures": [ "com.google.api.services.calendar.Calendar$CalendarList$Delete delete(String calendarId)" ] }, "get": { "description": "Returns a calendar from the user's calendar list", "signatures": [ "com.google.api.services.calendar.Calendar$CalendarList$Get get(String calendarI [...] - "settings": { "consumerOnly": false, "producerOnly": false, "description": "The settings collection of methods", "methods": { "get": { "description": "Returns a single user setting", "signatures": [ "com.google.api.services.calendar.Calendar$Settings$Get get(String setting)" ] }, "list": { "description": "Returns all user settings for the authenticated user", "signatures": [ "com.google.api.services.calendar.Calendar$Settings$List list()" ] }, "watch": { "description": "Watch for cha [...] + "list": { "consumerOnly": false, "producerOnly": false, "description": "The calendarList collection of methods", "methods": { "delete": { "description": "Removes a calendar from the user's calendar list", "signatures": [ "com.google.api.services.calendar.Calendar$CalendarList$Delete delete(String calendarId)" ] }, "get": { "description": "Returns a calendar from the user's calendar list", "signatures": [ "com.google.api.services.calendar.Calendar$CalendarList$Get get(String calendarI [...] + "settings": { "consumerOnly": false, "producerOnly": false, "description": "The settings collection of methods", "methods": { "get": { "description": "Returns a single user setting", "signatures": [ "com.google.api.services.calendar.Calendar$Settings$Get get(String setting)" ] }, "list": { "description": "Returns all user settings for the authenticated user", "signatures": [ "com.google.api.services.calendar.Calendar$Settings$List list()" ] }, "watch": { "description": "Watch for cha [...] }, "apiProperties": { "acl": { "methods": { "delete": { "properties": { "calendarId": { "index": 0, "kind": "parameter", "displayName": "Calendar Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the primary keyword.", [...] diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-drive.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-drive.json index 968c32aff9db..cefe90c6d0f9 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-drive.json +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-drive.json @@ -84,11 +84,11 @@ "serviceAccountKey": { "index": 31, "kind": "parameter", "displayName": "Service Account Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.google.drive.GoogleDriveConfiguration", "configurationField": "configuration", "description": "Service account key in json format to authenticate an application as a service [...] }, "apis": { - "drive-changes": { "consumerOnly": false, "producerOnly": false, "description": "The changes collection of methods", "methods": { "getStartPageToken": { "description": "Gets the starting pageToken for listing future changes", "signatures": [ "com.google.api.services.drive.Drive$Changes$GetStartPageToken getStartPageToken()" ] }, "list": { "description": "Lists the changes for a user or shared drive", "signatures": [ "com.google.api.services.drive.Drive$Changes$List list(String pageTo [...] - "drive-channels": { "consumerOnly": false, "producerOnly": false, "description": "The channels collection of methods", "methods": { "stop": { "description": "Stops watching resources through this channel", "signatures": [ "com.google.api.services.drive.Drive$Channels$Stop stop(com.google.api.services.drive.model.Channel content)" ] } } }, + "drive-changes": { "consumerOnly": false, "producerOnly": false, "description": "The changes collection of methods", "methods": { "getStartPageToken": { "description": "Gets the starting pageToken for listing future changes", "signatures": [ "com.google.api.services.drive.Drive$Changes$GetStartPageToken getStartPageToken()" ] }, "list": { "description": "Lists the changes for a user or shared drive", "signatures": [ "com.google.api.services.drive.Drive$Changes$List list(String pageTo [...] + "drive-channels": { "consumerOnly": false, "producerOnly": false, "description": "The channels collection of methods", "methods": { "stop": { "description": "Stops watching resources through this channel", "signatures": [ "com.google.api.services.drive.Drive$Channels$Stop stop(com.google.api.services.drive.model.Channel contentChannel)" ] } } }, "drive-comments": { "consumerOnly": false, "producerOnly": false, "description": "The comments collection of methods", "methods": { "create": { "description": "Creates a comment on a file", "signatures": [ "com.google.api.services.drive.Drive$Comments$Create create(String fileId, com.google.api.services.drive.model.Comment content)" ] }, "delete": { "description": "Deletes a comment", "signatures": [ "com.google.api.services.drive.Drive$Comments$Delete delete(String fileId, String co [...] "drive-drives": { "consumerOnly": false, "producerOnly": false, "description": "The drives collection of methods", "methods": { "create": { "description": "Creates a shared drive", "signatures": [ "com.google.api.services.drive.Drive$Drives$Create create(String requestId, com.google.api.services.drive.model.Drive content)" ] }, "delete": { "description": "Permanently deletes a shared drive for which the user is an organizer", "signatures": [ "com.google.api.services.drive.Drive$Drive [...] - "drive-files": { "consumerOnly": false, "producerOnly": false, "description": "The files collection of methods", "methods": { "copy": { "description": "Creates a copy of a file and applies any requested updates with patch semantics", "signatures": [ "com.google.api.services.drive.Drive$Files$Copy copy(String fileId, com.google.api.services.drive.model.File content)" ] }, "create": { "description": "Creates a file", "signatures": [ "com.google.api.services.drive.Drive$Files$Create cre [...] + "drive-files": { "consumerOnly": false, "producerOnly": false, "description": "The files collection of methods", "methods": { "copy": { "description": "Creates a copy of a file and applies any requested updates with patch semantics", "signatures": [ "com.google.api.services.drive.Drive$Files$Copy copy(String fileId, com.google.api.services.drive.model.File file)" ] }, "create": { "description": "Creates a file", "signatures": [ "com.google.api.services.drive.Drive$Files$Create create [...] "drive-permissions": { "consumerOnly": false, "producerOnly": false, "description": "The permissions collection of methods", "methods": { "create": { "description": "Creates a permission for a file or shared drive", "signatures": [ "com.google.api.services.drive.Drive$Permissions$Create create(String fileId, com.google.api.services.drive.model.Permission content)" ] }, "delete": { "description": "Deletes a permission", "signatures": [ "com.google.api.services.drive.Drive$Permissions$ [...] "drive-replies": { "consumerOnly": false, "producerOnly": false, "description": "The replies collection of methods", "methods": { "create": { "description": "Creates a reply to a comment", "signatures": [ "com.google.api.services.drive.Drive$Replies$Create create(String fileId, String commentId, com.google.api.services.drive.model.Reply content)" ] }, "delete": { "description": "Deletes a reply", "signatures": [ "com.google.api.services.drive.Drive$Replies$Delete delete(String fileId [...] "drive-revisions": { "consumerOnly": false, "producerOnly": false, "description": "The revisions collection of methods", "methods": { "delete": { "description": "Permanently deletes a file version", "signatures": [ "com.google.api.services.drive.Drive$Revisions$Delete delete(String fileId, String revisionId)" ] }, "get": { "description": "Gets a revision's metadata or content by ID", "signatures": [ "com.google.api.services.drive.Drive$Revisions$Get get(String fileId, String revision [...] diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-mail.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-mail.json index dfa81dabdf9d..96395b1f0451 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-mail.json +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-mail.json @@ -82,7 +82,7 @@ "drafts": { "consumerOnly": false, "producerOnly": false, "description": "The drafts collection of methods", "methods": { "create": { "description": "Creates a new draft with the DRAFT label", "signatures": [ "com.google.api.services.gmail.Gmail$Users$Drafts$Create create(String userId, com.google.api.services.gmail.model.Draft content)", "com.google.api.services.gmail.Gmail$Users$Drafts$Create create(String userId, com.google.api.services.gmail.model.Draft content, com.google.api.cl [...] "history": { "consumerOnly": false, "producerOnly": false, "description": "The history collection of methods", "methods": { "list": { "description": "Lists the history of all changes to the given mailbox", "signatures": [ "com.google.api.services.gmail.Gmail$Users$History$List list(String userId)" ] } } }, "labels": { "consumerOnly": false, "producerOnly": false, "description": "The labels collection of methods", "methods": { "create": { "description": "Creates a new label", "signatures": [ "com.google.api.services.gmail.Gmail$Users$Labels$Create create(String userId, com.google.api.services.gmail.model.Label content)" ] }, "delete": { "description": "Immediately and permanently deletes the specified label and removes it from any messages and threads that it is applied to", "signatures [...] - "messages": { "consumerOnly": false, "producerOnly": false, "description": "The messages collection of methods", "methods": { "batchDelete": { "description": "Deletes many messages by message ID", "signatures": [ "com.google.api.services.gmail.Gmail$Users$Messages$BatchDelete batchDelete(String userId, com.google.api.services.gmail.model.BatchDeleteMessagesRequest content)" ] }, "batchModify": { "description": "Modifies the labels on the specified messages", "signatures": [ "com.goog [...] + "messages": { "consumerOnly": false, "producerOnly": false, "description": "The messages collection of methods", "methods": { "batchDelete": { "description": "Deletes many messages by message ID", "signatures": [ "com.google.api.services.gmail.Gmail$Users$Messages$BatchDelete batchDelete(String userId, com.google.api.services.gmail.model.BatchDeleteMessagesRequest batchDeleteMessagesRequest)" ] }, "batchModify": { "description": "Modifies the labels on the specified messages", "signa [...] "threads": { "consumerOnly": false, "producerOnly": false, "description": "The threads collection of methods", "methods": { "delete": { "description": "Immediately and permanently deletes the specified thread", "signatures": [ "com.google.api.services.gmail.Gmail$Users$Threads$Delete delete(String userId, String id)" ] }, "get": { "description": "Gets the specified thread", "signatures": [ "com.google.api.services.gmail.Gmail$Users$Threads$Get get(String userId, String id)" ] }, "lis [...] "users": { "consumerOnly": false, "producerOnly": false, "description": "The users collection of methods", "methods": { "getProfile": { "description": "Gets the current user's Gmail profile", "signatures": [ "com.google.api.services.gmail.Gmail$Users$GetProfile getProfile(String userId)" ] }, "stop": { "description": "Stop receiving push notifications for the given user mailbox", "signatures": [ "com.google.api.services.gmail.Gmail$Users$Stop stop(String userId)" ] }, "watch": { "des [...] }, diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-sheets.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-sheets.json index d228cb2fa04d..3f4188b2479f 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-sheets.json +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-sheets.json @@ -81,8 +81,8 @@ "serviceAccountKey": { "index": 31, "kind": "parameter", "displayName": "Service Account Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.google.sheets.GoogleSheetsConfiguration", "configurationField": "configuration", "description": "Sets .json file with credentials for Service account" } }, "apis": { - "data": { "consumerOnly": false, "producerOnly": false, "description": "The values collection of methods", "methods": { "append": { "description": "Appends values to a spreadsheet", "signatures": [ "com.google.api.services.sheets.v4.Sheets$Spreadsheets$Values$Append append(String spreadsheetId, String range, com.google.api.services.sheets.v4.model.ValueRange content)" ] }, "batchClear": { "description": "Clears one or more ranges of values from a spreadsheet", "signatures": [ "com.go [...] - "spreadsheets": { "consumerOnly": false, "producerOnly": false, "description": "The spreadsheets collection of methods", "methods": { "batchUpdate": { "description": "Applies one or more updates to the spreadsheet", "signatures": [ "com.google.api.services.sheets.v4.Sheets$Spreadsheets$BatchUpdate batchUpdate(String spreadsheetId, com.google.api.services.sheets.v4.model.BatchUpdateSpreadsheetRequest content)" ] }, "create": { "description": "Creates a spreadsheet, returning the newly [...] + "data": { "consumerOnly": false, "producerOnly": false, "description": "The values collection of methods", "methods": { "append": { "description": "Appends values to a spreadsheet", "signatures": [ "com.google.api.services.sheets.v4.Sheets$Spreadsheets$Values$Append append(String spreadsheetId, String range, com.google.api.services.sheets.v4.model.ValueRange values)" ] }, "batchClear": { "description": "Clears one or more ranges of values from a spreadsheet", "signatures": [ "com.goo [...] + "spreadsheets": { "consumerOnly": false, "producerOnly": false, "description": "The spreadsheets collection of methods", "methods": { "batchUpdate": { "description": "Applies one or more updates to the spreadsheet", "signatures": [ "com.google.api.services.sheets.v4.Sheets$Spreadsheets$BatchUpdate batchUpdate(String spreadsheetId, com.google.api.services.sheets.v4.model.BatchUpdateSpreadsheetRequest batchUpdateSpreadsheetRequest)" ] }, "create": { "description": "Creates a spreadshee [...] }, "apiProperties": { "data": { "methods": { "append": { "properties": { "includeValuesInResponse": { "index": 0, "kind": "parameter", "displayName": "Include Values In Response", "group": "common", "label": "", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Determines if the update response should include the values of the cells that were appended", "optional": true }, "insertDataOptio [...] diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/zendesk.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/zendesk.json index e9856b162293..648bc35c9a21 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/zendesk.json +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/zendesk.json @@ -71,7 +71,7 @@ "username": { "index": 26, "kind": "parameter", "displayName": "Username", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.zendesk.ZendeskConfiguration", "configurationField": "configuration", "description": "The user name." } }, "apis": { - "DEFAULT": { "consumerOnly": false, "producerOnly": false, "description": "", "methods": { "addTagToOrganisations": { "description": "", "signatures": [ "java.util.List<String> addTagToOrganisations(long id, String[] tags)" ] }, "addTagToTicket": { "description": "", "signatures": [ "java.util.List<String> addTagToTicket(long id, String[] tags)" ] }, "addTagToTopics": { "description": "", "signatures": [ "java.util.List<String> addTagToTopics(long id, String[] tags)" ] }, "associateA [...] + "DEFAULT": { "consumerOnly": false, "producerOnly": false, "description": "", "methods": { "addTagToOrganisations": { "description": "", "signatures": [ "java.util.List<String> addTagToOrganisations(long id, String[] tags)" ] }, "addTagToTicket": { "description": "", "signatures": [ "java.util.List<String> addTagToTicket(long id, String[] tags)" ] }, "addTagToTopics": { "description": "", "signatures": [ "java.util.List<String> addTagToTopics(long id, String[] tags)" ] }, "associateA [...] }, "apiProperties": { "DEFAULT": { "methods": { "addTagToOrganisations": { "properties": { "id": { "index": 0, "kind": "parameter", "displayName": "Id", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "description": "", "optional": false }, "tags": { "index": 1, "kind": "parameter", "displayName": "Tags", "group": "common", "label": "", "required": false, "type": "array", "javaType": "java.lang.St [...] diff --git a/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/MerchantAccountGatewayEndpointConfiguration.java b/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/MerchantAccountGatewayEndpointConfiguration.java index f59d36f056d5..59c5609da165 100644 --- a/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/MerchantAccountGatewayEndpointConfiguration.java +++ b/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/MerchantAccountGatewayEndpointConfiguration.java @@ -17,7 +17,7 @@ import org.apache.camel.spi.UriParams; */ @ApiParams(apiName = "merchantAccount", description = "Provides methods to create, find, and update MerchantAccount objects", - apiMethods = {@ApiMethod(methodName = "all", signatures={"com.braintreegateway.PaginatedCollection<com.braintreegateway.MerchantAccount> all()"}), @ApiMethod(methodName = "createForCurrency", signatures={"com.braintreegateway.Result<com.braintreegateway.MerchantAccount> createForCurrency(com.braintreegateway.MerchantAccountCreateForCurrencyRequest request)"}), @ApiMethod(methodName = "fetchMerchantAccounts", signatures={"com.braintreegateway.PaginatedResult<com.braintreegatewa [...] + apiMethods = {@ApiMethod(methodName = "all", signatures={"com.braintreegateway.PaginatedCollection<com.braintreegateway.MerchantAccount> all()"}), @ApiMethod(methodName = "createForCurrency", signatures={"com.braintreegateway.Result<com.braintreegateway.MerchantAccount> createForCurrency(com.braintreegateway.MerchantAccountCreateForCurrencyRequest currencyRequest)"}), @ApiMethod(methodName = "fetchMerchantAccounts", signatures={"com.braintreegateway.PaginatedResult<com.braintr [...] @UriParams @Configurer(extended = true) @Generated("org.apache.camel.maven.ApiComponentGeneratorMojo") diff --git a/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/OAuthGatewayEndpointConfiguration.java b/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/OAuthGatewayEndpointConfiguration.java index 38768b80c027..548742220dfb 100644 --- a/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/OAuthGatewayEndpointConfiguration.java +++ b/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/OAuthGatewayEndpointConfiguration.java @@ -17,7 +17,7 @@ import org.apache.camel.spi.UriParams; */ @ApiParams(apiName = "oauth", description = "", - apiMethods = {@ApiMethod(methodName = "connectUrl", signatures={"String connectUrl(com.braintreegateway.OAuthConnectUrlRequest request)"}), @ApiMethod(methodName = "createTokenFromCode", signatures={"com.braintreegateway.Result<com.braintreegateway.OAuthCredentials> createTokenFromCode(com.braintreegateway.OAuthCredentialsRequest request)"}), @ApiMethod(methodName = "createTokenFromRefreshToken", signatures={"com.braintreegateway.Result<com.braintreegateway.OAuthCredentials> c [...] + apiMethods = {@ApiMethod(methodName = "connectUrl", signatures={"String connectUrl(com.braintreegateway.OAuthConnectUrlRequest connectRequest)"}), @ApiMethod(methodName = "createTokenFromCode", signatures={"com.braintreegateway.Result<com.braintreegateway.OAuthCredentials> createTokenFromCode(com.braintreegateway.OAuthCredentialsRequest request)"}), @ApiMethod(methodName = "createTokenFromRefreshToken", signatures={"com.braintreegateway.Result<com.braintreegateway.OAuthCredent [...] @UriParams @Configurer(extended = true) @Generated("org.apache.camel.maven.ApiComponentGeneratorMojo") diff --git a/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/PaymentMethodGatewayEndpointConfiguration.java b/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/PaymentMethodGatewayEndpointConfiguration.java index f12a50f64d3d..2d2cbed6545e 100644 --- a/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/PaymentMethodGatewayEndpointConfiguration.java +++ b/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/PaymentMethodGatewayEndpointConfiguration.java @@ -17,7 +17,7 @@ import org.apache.camel.spi.UriParams; */ @ApiParams(apiName = "paymentMethod", description = "Provides methods to interact with payments", - apiMethods = {@ApiMethod(methodName = "create", signatures={"com.braintreegateway.Result<com.braintreegateway.? extends PaymentMethod> create(com.braintreegateway.PaymentMethodRequest request)"}), @ApiMethod(methodName = "delete", signatures={"com.braintreegateway.Result<com.braintreegateway.? extends PaymentMethod> delete(String token)", "com.braintreegateway.Result<com.braintreegateway.? extends PaymentMethod> delete(String token, com.braintreegateway.PaymentMethodDeleteRequ [...] + apiMethods = {@ApiMethod(methodName = "create", signatures={"com.braintreegateway.Result<com.braintreegateway.? extends PaymentMethod> create(com.braintreegateway.PaymentMethodRequest request)"}), @ApiMethod(methodName = "delete", signatures={"com.braintreegateway.Result<com.braintreegateway.? extends PaymentMethod> delete(String token)", "com.braintreegateway.Result<com.braintreegateway.? extends PaymentMethod> delete(String token, com.braintreegateway.PaymentMethodDeleteRequ [...] @UriParams @Configurer(extended = true) @Generated("org.apache.camel.maven.ApiComponentGeneratorMojo") diff --git a/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/TransactionGatewayEndpointConfiguration.java b/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/TransactionGatewayEndpointConfiguration.java index 8dfad3e022f0..f813c123589e 100644 --- a/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/TransactionGatewayEndpointConfiguration.java +++ b/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/TransactionGatewayEndpointConfiguration.java @@ -17,7 +17,7 @@ import org.apache.camel.spi.UriParams; */ @ApiParams(apiName = "transaction", description = "Provides methods to interact with Transactions", - apiMethods = {@ApiMethod(methodName = "adjustAuthorization", description="Submits the transaction with the given id to be adjusted for the given amount which must be less than or equal to the authorization amount", signatures={"com.braintreegateway.Result<com.braintreegateway.Transaction> adjustAuthorization(String id, java.math.BigDecimal amount)", "com.braintreegateway.Result<com.braintreegateway.Transaction> adjustAuthorization(String id, com.braintreegateway.TransactionReq [...] + apiMethods = {@ApiMethod(methodName = "adjustAuthorization", description="Submits the transaction with the given id to be adjusted for the given amount which must be less than or equal to the authorization amount", signatures={"com.braintreegateway.Result<com.braintreegateway.Transaction> adjustAuthorization(String id, java.math.BigDecimal amount)", "com.braintreegateway.Result<com.braintreegateway.Transaction> adjustAuthorization(String id, com.braintreegateway.TransactionReq [...] @UriParams @Configurer(extended = true) @Generated("org.apache.camel.maven.ApiComponentGeneratorMojo") diff --git a/components/camel-braintree/src/generated/resources/META-INF/org/apache/camel/component/braintree/braintree.json b/components/camel-braintree/src/generated/resources/META-INF/org/apache/camel/component/braintree/braintree.json index 87b5f7f9b91c..8a92624218ca 100644 --- a/components/camel-braintree/src/generated/resources/META-INF/org/apache/camel/component/braintree/braintree.json +++ b/components/camel-braintree/src/generated/resources/META-INF/org/apache/camel/component/braintree/braintree.json @@ -57,15 +57,15 @@ "customer": { "consumerOnly": false, "producerOnly": true, "description": "Provides methods to create, delete, find, and update Customer objects", "methods": { "all": { "description": "Finds all Customers and returns a ResourceCollection", "signatures": [ "com.braintreegateway.ResourceCollection<com.braintreegateway.Customer> all()" ] }, "create": { "description": "Creates a Customer", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Customer> create(com.braintreegat [...] "dispute": { "consumerOnly": false, "producerOnly": true, "description": "Provides methods to interact with Dispute objects", "methods": { "accept": { "description": "Accept a Dispute, given a dispute ID", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Dispute> accept(String id)" ] }, "addFileEvidence": { "description": "Add File Evidence to a Dispute, given an ID and a FileEvidenceRequest File evidence request", "signatures": [ "com.braintreegateway.Result<com.bra [...] "documentUpload": { "consumerOnly": false, "producerOnly": true, "description": "API to upload evidence documents", "methods": { "create": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.DocumentUpload> create(com.braintreegateway.DocumentUploadRequest request)" ] } } }, - "merchantAccount": { "consumerOnly": false, "producerOnly": true, "description": "Provides methods to create, find, and update MerchantAccount objects", "methods": { "all": { "description": "", "signatures": [ "com.braintreegateway.PaginatedCollection<com.braintreegateway.MerchantAccount> all()" ] }, "createForCurrency": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.MerchantAccount> createForCurrency(com.braintreegateway.MerchantAccountCreateF [...] - "oauth": { "consumerOnly": false, "producerOnly": true, "description": "", "methods": { "connectUrl": { "description": "", "signatures": [ "String connectUrl(com.braintreegateway.OAuthConnectUrlRequest request)" ] }, "createTokenFromCode": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.OAuthCredentials> createTokenFromCode(com.braintreegateway.OAuthCredentialsRequest request)" ] }, "createTokenFromRefreshToken": { "description": "", "signatures [...] - "paymentMethod": { "consumerOnly": false, "producerOnly": true, "description": "Provides methods to interact with payments", "methods": { "create": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.? extends PaymentMethod> create(com.braintreegateway.PaymentMethodRequest request)" ] }, "delete": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.? extends PaymentMethod> delete(String token)", "com.braintreegatew [...] + "merchantAccount": { "consumerOnly": false, "producerOnly": true, "description": "Provides methods to create, find, and update MerchantAccount objects", "methods": { "all": { "description": "", "signatures": [ "com.braintreegateway.PaginatedCollection<com.braintreegateway.MerchantAccount> all()" ] }, "createForCurrency": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.MerchantAccount> createForCurrency(com.braintreegateway.MerchantAccountCreateF [...] + "oauth": { "consumerOnly": false, "producerOnly": true, "description": "", "methods": { "connectUrl": { "description": "", "signatures": [ "String connectUrl(com.braintreegateway.OAuthConnectUrlRequest connectRequest)" ] }, "createTokenFromCode": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.OAuthCredentials> createTokenFromCode(com.braintreegateway.OAuthCredentialsRequest request)" ] }, "createTokenFromRefreshToken": { "description": "", "sig [...] + "paymentMethod": { "consumerOnly": false, "producerOnly": true, "description": "Provides methods to interact with payments", "methods": { "create": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.? extends PaymentMethod> create(com.braintreegateway.PaymentMethodRequest request)" ] }, "delete": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.? extends PaymentMethod> delete(String token)", "com.braintreegatew [...] "paymentMethodNonce": { "consumerOnly": false, "producerOnly": true, "description": "Provides methods to interact with nonce payments", "methods": { "create": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.PaymentMethodNonce> create(String paymentMethodToken)", "com.braintreegateway.Result<com.braintreegateway.PaymentMethodNonce> create(com.braintreegateway.PaymentMethodNonceRequest request)" ] }, "find": { "description": "", "signatures": [ "c [...] "plan": { "consumerOnly": false, "producerOnly": true, "description": "", "methods": { "all": { "description": "", "signatures": [ "java.util.List<com.braintreegateway.Plan> all()" ] }, "create": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Plan> create(com.braintreegateway.PlanRequest request)" ] }, "find": { "description": "", "signatures": [ "com.braintreegateway.Plan find(String id)" ] }, "update": { "description": "", "signatures": [ "co [...] "report": { "consumerOnly": false, "producerOnly": true, "description": "Provides methods to interact with reports", "methods": { "transactionLevelFees": { "description": "Retrieves a Transaction-Level Fee Report", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.TransactionLevelFeeReport> transactionLevelFees(com.braintreegateway.TransactionLevelFeeReportRequest request)" ] } } }, "settlementBatchSummary": { "consumerOnly": false, "producerOnly": true, "description": "Provides methods to interact wit settlement summaries", "methods": { "generate": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.SettlementBatchSummary> generate(java.util.Calendar settlementDate)", "com.braintreegateway.Result<com.braintreegateway.SettlementBatchSummary> generate(java.util.Calendar settlementDate, String groupByCustomField)" ] } } }, "subscription": { "consumerOnly": false, "producerOnly": true, "description": "Provides methods to interact with Subscriptions", "methods": { "cancel": { "description": "Cancels the Subscription with the given id", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Subscription> cancel(String id)" ] }, "create": { "description": "Creates a Subscription", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Subscription> create(com.braintreegateway.Subscrip [...] - "transaction": { "consumerOnly": false, "producerOnly": true, "description": "Provides methods to interact with Transactions", "methods": { "adjustAuthorization": { "description": "Submits the transaction with the given id to be adjusted for the given amount which must be less than or equal to the authorization amount", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Transaction> adjustAuthorization(String id, com.braintreegateway.TransactionRequest request)", "com. [...] + "transaction": { "consumerOnly": false, "producerOnly": true, "description": "Provides methods to interact with Transactions", "methods": { "adjustAuthorization": { "description": "Submits the transaction with the given id to be adjusted for the given amount which must be less than or equal to the authorization amount", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Transaction> adjustAuthorization(String id, com.braintreegateway.TransactionRequest request)", "com. [...] "usBankAccount": { "consumerOnly": false, "producerOnly": true, "description": "", "methods": { "find": { "description": "", "signatures": [ "com.braintreegateway.UsBankAccount find(String token)" ] }, "sale": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Transaction> sale(String token, com.braintreegateway.TransactionRequest transactionRequest)" ] } } }, "webhookNotification": { "consumerOnly": false, "producerOnly": true, "description": "To retrieve notifications via webhooks", "methods": { "parse": { "description": "", "signatures": [ "com.braintreegateway.WebhookNotification parse(String signature, String payload)" ] }, "parseWithoutSignatureVerification": { "description": "", "signatures": [ "com.braintreegateway.WebhookNotification parseWithoutSignatureVerification(String payload)" ] }, "verify": { "description": "", "signatures [...] }, diff --git a/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarAclEndpointConfiguration.java b/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarAclEndpointConfiguration.java index 7cbed5e6086f..accccc64190f 100644 --- a/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarAclEndpointConfiguration.java +++ b/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarAclEndpointConfiguration.java @@ -17,7 +17,7 @@ import org.apache.camel.spi.UriParams; */ @ApiParams(apiName = "acl", description = "The acl collection of methods", - apiMethods = {@ApiMethod(methodName = "delete", description="Deletes an access control rule", signatures={"com.google.api.services.calendar.Calendar$Acl$Delete delete(String calendarId, String ruleId)"}), @ApiMethod(methodName = "get", description="Returns an access control rule", signatures={"com.google.api.services.calendar.Calendar$Acl$Get get(String calendarId, String ruleId)"}), @ApiMethod(methodName = "insert", description="Creates an access control rule", signatures={"c [...] + apiMethods = {@ApiMethod(methodName = "delete", description="Deletes an access control rule", signatures={"com.google.api.services.calendar.Calendar$Acl$Delete delete(String calendarId, String ruleId)"}), @ApiMethod(methodName = "get", description="Returns an access control rule", signatures={"com.google.api.services.calendar.Calendar$Acl$Get get(String calendarId, String ruleId)"}), @ApiMethod(methodName = "insert", description="Creates an access control rule", signatures={"c [...] @UriParams @Configurer(extended = true) @Generated("org.apache.camel.maven.ApiComponentGeneratorMojo") diff --git a/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarCalendarListEndpointConfiguration.java b/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarCalendarListEndpointConfiguration.java index 5bc03c82feb4..49da2e5376a2 100644 --- a/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarCalendarListEndpointConfiguration.java +++ b/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarCalendarListEndpointConfiguration.java @@ -17,7 +17,7 @@ import org.apache.camel.spi.UriParams; */ @ApiParams(apiName = "list", description = "The calendarList collection of methods", - apiMethods = {@ApiMethod(methodName = "delete", description="Removes a calendar from the user's calendar list", signatures={"com.google.api.services.calendar.Calendar$CalendarList$Delete delete(String calendarId)"}), @ApiMethod(methodName = "get", description="Returns a calendar from the user's calendar list", signatures={"com.google.api.services.calendar.Calendar$CalendarList$Get get(String calendarId)"}), @ApiMethod(methodName = "insert", description="Inserts an existing cal [...] + apiMethods = {@ApiMethod(methodName = "delete", description="Removes a calendar from the user's calendar list", signatures={"com.google.api.services.calendar.Calendar$CalendarList$Delete delete(String calendarId)"}), @ApiMethod(methodName = "get", description="Returns a calendar from the user's calendar list", signatures={"com.google.api.services.calendar.Calendar$CalendarList$Get get(String calendarId)"}), @ApiMethod(methodName = "insert", description="Inserts an existing cal [...] @UriParams @Configurer(extended = true) @Generated("org.apache.camel.maven.ApiComponentGeneratorMojo") diff --git a/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarChannelsEndpointConfiguration.java b/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarChannelsEndpointConfiguration.java index b5218aed1f8d..99872cdcedff 100644 --- a/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarChannelsEndpointConfiguration.java +++ b/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarChannelsEndpointConfiguration.java @@ -17,7 +17,7 @@ import org.apache.camel.spi.UriParams; */ @ApiParams(apiName = "channels", description = "The channels collection of methods", - apiMethods = {@ApiMethod(methodName = "stop", description="Stop watching resources through this channel", signatures={"com.google.api.services.calendar.Calendar$Channels$Stop stop(com.google.api.services.calendar.model.Channel content)"})}, aliases = {}) + apiMethods = {@ApiMethod(methodName = "stop", description="Stop watching resources through this channel", signatures={"com.google.api.services.calendar.Calendar$Channels$Stop stop(com.google.api.services.calendar.model.Channel contentChannel)"})}, aliases = {}) @UriParams @Configurer(extended = true) @Generated("org.apache.camel.maven.ApiComponentGeneratorMojo") diff --git a/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarEventsEndpointConfiguration.java b/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarEventsEndpointConfiguration.java index 15d2536671ce..fdc651181195 100644 --- a/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarEventsEndpointConfiguration.java +++ b/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarEventsEndpointConfiguration.java @@ -17,7 +17,7 @@ import org.apache.camel.spi.UriParams; */ @ApiParams(apiName = "events", description = "The events collection of methods", - apiMethods = {@ApiMethod(methodName = "calendarImport", description="Imports an event", signatures={"com.google.api.services.calendar.Calendar$Events$CalendarImport calendarImport(String calendarId, com.google.api.services.calendar.model.Event content)"}), @ApiMethod(methodName = "delete", description="Deletes an event", signatures={"com.google.api.services.calendar.Calendar$Events$Delete delete(String calendarId, String eventId)"}), @ApiMethod(methodName = "get", description= [...] + apiMethods = {@ApiMethod(methodName = "calendarImport", description="Imports an event", signatures={"com.google.api.services.calendar.Calendar$Events$CalendarImport calendarImport(String calendarId, com.google.api.services.calendar.model.Event content)"}), @ApiMethod(methodName = "delete", description="Deletes an event", signatures={"com.google.api.services.calendar.Calendar$Events$Delete delete(String calendarId, String eventId)"}), @ApiMethod(methodName = "get", description= [...] @UriParams @Configurer(extended = true) @Generated("org.apache.camel.maven.ApiComponentGeneratorMojo") diff --git a/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarSettingsEndpointConfiguration.java b/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarSettingsEndpointConfiguration.java index 6dbb916e988d..6d97c7625440 100644 --- a/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarSettingsEndpointConfiguration.java +++ b/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarSettingsEndpointConfiguration.java @@ -17,7 +17,7 @@ import org.apache.camel.spi.UriParams; */ @ApiParams(apiName = "settings", description = "The settings collection of methods", - apiMethods = {@ApiMethod(methodName = "get", description="Returns a single user setting", signatures={"com.google.api.services.calendar.Calendar$Settings$Get get(String setting)"}), @ApiMethod(methodName = "list", description="Returns all user settings for the authenticated user", signatures={"com.google.api.services.calendar.Calendar$Settings$List list()"}), @ApiMethod(methodName = "watch", description="Watch for changes to Settings resources", signatures={"com.google.api.ser [...] + apiMethods = {@ApiMethod(methodName = "get", description="Returns a single user setting", signatures={"com.google.api.services.calendar.Calendar$Settings$Get get(String setting)"}), @ApiMethod(methodName = "list", description="Returns all user settings for the authenticated user", signatures={"com.google.api.services.calendar.Calendar$Settings$List list()"}), @ApiMethod(methodName = "watch", description="Watch for changes to Settings resources", signatures={"com.google.api.ser [...] @UriParams @Configurer(extended = true) @Generated("org.apache.camel.maven.ApiComponentGeneratorMojo") diff --git a/components/camel-google/camel-google-calendar/src/generated/resources/META-INF/org/apache/camel/component/google/calendar/google-calendar.json b/components/camel-google/camel-google-calendar/src/generated/resources/META-INF/org/apache/camel/component/google/calendar/google-calendar.json index 65d7649f4ca1..1fcd8a654413 100644 --- a/components/camel-google/camel-google-calendar/src/generated/resources/META-INF/org/apache/camel/component/google/calendar/google-calendar.json +++ b/components/camel-google/camel-google-calendar/src/generated/resources/META-INF/org/apache/camel/component/google/calendar/google-calendar.json @@ -84,13 +84,13 @@ "user": { "index": 33, "kind": "parameter", "displayName": "User", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.google.calendar.GoogleCalendarConfiguration", "configurationField": "configuration", "description": "The email address of the user the application is trying to impersonate in the se [...] }, "apis": { - "acl": { "consumerOnly": false, "producerOnly": false, "description": "The acl collection of methods", "methods": { "delete": { "description": "Deletes an access control rule", "signatures": [ "com.google.api.services.calendar.Calendar$Acl$Delete delete(String calendarId, String ruleId)" ] }, "get": { "description": "Returns an access control rule", "signatures": [ "com.google.api.services.calendar.Calendar$Acl$Get get(String calendarId, String ruleId)" ] }, "insert": { "description" [...] + "acl": { "consumerOnly": false, "producerOnly": false, "description": "The acl collection of methods", "methods": { "delete": { "description": "Deletes an access control rule", "signatures": [ "com.google.api.services.calendar.Calendar$Acl$Delete delete(String calendarId, String ruleId)" ] }, "get": { "description": "Returns an access control rule", "signatures": [ "com.google.api.services.calendar.Calendar$Acl$Get get(String calendarId, String ruleId)" ] }, "insert": { "description" [...] "calendars": { "consumerOnly": false, "producerOnly": false, "description": "The calendars collection of methods", "methods": { "clear": { "description": "Clears a primary calendar", "signatures": [ "com.google.api.services.calendar.Calendar$Calendars$Clear clear(String calendarId)" ] }, "delete": { "description": "Deletes a secondary calendar", "signatures": [ "com.google.api.services.calendar.Calendar$Calendars$Delete delete(String calendarId)" ] }, "get": { "description": "Returns [...] - "channels": { "consumerOnly": false, "producerOnly": false, "description": "The channels collection of methods", "methods": { "stop": { "description": "Stop watching resources through this channel", "signatures": [ "com.google.api.services.calendar.Calendar$Channels$Stop stop(com.google.api.services.calendar.model.Channel content)" ] } } }, - "events": { "consumerOnly": false, "producerOnly": false, "description": "The events collection of methods", "methods": { "calendarImport": { "description": "Imports an event", "signatures": [ "com.google.api.services.calendar.Calendar$Events$CalendarImport calendarImport(String calendarId, com.google.api.services.calendar.model.Event content)" ] }, "delete": { "description": "Deletes an event", "signatures": [ "com.google.api.services.calendar.Calendar$Events$Delete delete(String ca [...] + "channels": { "consumerOnly": false, "producerOnly": false, "description": "The channels collection of methods", "methods": { "stop": { "description": "Stop watching resources through this channel", "signatures": [ "com.google.api.services.calendar.Calendar$Channels$Stop stop(com.google.api.services.calendar.model.Channel contentChannel)" ] } } }, + "events": { "consumerOnly": false, "producerOnly": false, "description": "The events collection of methods", "methods": { "calendarImport": { "description": "Imports an event", "signatures": [ "com.google.api.services.calendar.Calendar$Events$CalendarImport calendarImport(String calendarId, com.google.api.services.calendar.model.Event content)" ] }, "delete": { "description": "Deletes an event", "signatures": [ "com.google.api.services.calendar.Calendar$Events$Delete delete(String ca [...] "freebusy": { "consumerOnly": false, "producerOnly": false, "description": "The freebusy collection of methods", "methods": { "query": { "description": "Returns free\/busy information for a set of calendars", "signatures": [ "com.google.api.services.calendar.Calendar$Freebusy$Query query(com.google.api.services.calendar.model.FreeBusyRequest content)" ] } } }, - "list": { "consumerOnly": false, "producerOnly": false, "description": "The calendarList collection of methods", "methods": { "delete": { "description": "Removes a calendar from the user's calendar list", "signatures": [ "com.google.api.services.calendar.Calendar$CalendarList$Delete delete(String calendarId)" ] }, "get": { "description": "Returns a calendar from the user's calendar list", "signatures": [ "com.google.api.services.calendar.Calendar$CalendarList$Get get(String calendarI [...] - "settings": { "consumerOnly": false, "producerOnly": false, "description": "The settings collection of methods", "methods": { "get": { "description": "Returns a single user setting", "signatures": [ "com.google.api.services.calendar.Calendar$Settings$Get get(String setting)" ] }, "list": { "description": "Returns all user settings for the authenticated user", "signatures": [ "com.google.api.services.calendar.Calendar$Settings$List list()" ] }, "watch": { "description": "Watch for cha [...] + "list": { "consumerOnly": false, "producerOnly": false, "description": "The calendarList collection of methods", "methods": { "delete": { "description": "Removes a calendar from the user's calendar list", "signatures": [ "com.google.api.services.calendar.Calendar$CalendarList$Delete delete(String calendarId)" ] }, "get": { "description": "Returns a calendar from the user's calendar list", "signatures": [ "com.google.api.services.calendar.Calendar$CalendarList$Get get(String calendarI [...] + "settings": { "consumerOnly": false, "producerOnly": false, "description": "The settings collection of methods", "methods": { "get": { "description": "Returns a single user setting", "signatures": [ "com.google.api.services.calendar.Calendar$Settings$Get get(String setting)" ] }, "list": { "description": "Returns all user settings for the authenticated user", "signatures": [ "com.google.api.services.calendar.Calendar$Settings$List list()" ] }, "watch": { "description": "Watch for cha [...] }, "apiProperties": { "acl": { "methods": { "delete": { "properties": { "calendarId": { "index": 0, "kind": "parameter", "displayName": "Calendar Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the primary keyword.", [...] diff --git a/components/camel-google/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DriveChangesEndpointConfiguration.java b/components/camel-google/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DriveChangesEndpointConfiguration.java index 7a65d2433358..c4a931cea922 100644 --- a/components/camel-google/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DriveChangesEndpointConfiguration.java +++ b/components/camel-google/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DriveChangesEndpointConfiguration.java @@ -17,7 +17,7 @@ import org.apache.camel.spi.UriParams; */ @ApiParams(apiName = "drive-changes", description = "The changes collection of methods", - apiMethods = {@ApiMethod(methodName = "getStartPageToken", description="Gets the starting pageToken for listing future changes", signatures={"com.google.api.services.drive.Drive$Changes$GetStartPageToken getStartPageToken()"}), @ApiMethod(methodName = "list", description="Lists the changes for a user or shared drive", signatures={"com.google.api.services.drive.Drive$Changes$List list(String pageToken)"}), @ApiMethod(methodName = "watch", description="Subscribes to changes for [...] + apiMethods = {@ApiMethod(methodName = "getStartPageToken", description="Gets the starting pageToken for listing future changes", signatures={"com.google.api.services.drive.Drive$Changes$GetStartPageToken getStartPageToken()"}), @ApiMethod(methodName = "list", description="Lists the changes for a user or shared drive", signatures={"com.google.api.services.drive.Drive$Changes$List list(String pageToken)"}), @ApiMethod(methodName = "watch", description="Subscribes to changes for [...] @UriParams @Configurer(extended = true) @Generated("org.apache.camel.maven.ApiComponentGeneratorMojo") diff --git a/components/camel-google/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DriveChannelsEndpointConfiguration.java b/components/camel-google/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DriveChannelsEndpointConfiguration.java index e54d02e68ca3..0d7e7a9c882c 100644 --- a/components/camel-google/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DriveChannelsEndpointConfiguration.java +++ b/components/camel-google/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DriveChannelsEndpointConfiguration.java @@ -17,7 +17,7 @@ import org.apache.camel.spi.UriParams; */ @ApiParams(apiName = "drive-channels", description = "The channels collection of methods", - apiMethods = {@ApiMethod(methodName = "stop", description="Stops watching resources through this channel", signatures={"com.google.api.services.drive.Drive$Channels$Stop stop(com.google.api.services.drive.model.Channel content)"})}, aliases = {}) + apiMethods = {@ApiMethod(methodName = "stop", description="Stops watching resources through this channel", signatures={"com.google.api.services.drive.Drive$Channels$Stop stop(com.google.api.services.drive.model.Channel contentChannel)"})}, aliases = {}) @UriParams @Configurer(extended = true) @Generated("org.apache.camel.maven.ApiComponentGeneratorMojo") diff --git a/components/camel-google/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DriveFilesEndpointConfiguration.java b/components/camel-google/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DriveFilesEndpointConfiguration.java index 9bed57932ffa..10ab417574f1 100644 --- a/components/camel-google/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DriveFilesEndpointConfiguration.java +++ b/components/camel-google/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DriveFilesEndpointConfiguration.java @@ -17,7 +17,7 @@ import org.apache.camel.spi.UriParams; */ @ApiParams(apiName = "drive-files", description = "The files collection of methods", - apiMethods = {@ApiMethod(methodName = "copy", description="Creates a copy of a file and applies any requested updates with patch semantics", signatures={"com.google.api.services.drive.Drive$Files$Copy copy(String fileId, com.google.api.services.drive.model.File content)"}), @ApiMethod(methodName = "create", description="Creates a file", signatures={"com.google.api.services.drive.Drive$Files$Create create(com.google.api.services.drive.model.File content)", "com.google.api.servi [...] + apiMethods = {@ApiMethod(methodName = "copy", description="Creates a copy of a file and applies any requested updates with patch semantics", signatures={"com.google.api.services.drive.Drive$Files$Copy copy(String fileId, com.google.api.services.drive.model.File file)"}), @ApiMethod(methodName = "create", description="Creates a file", signatures={"com.google.api.services.drive.Drive$Files$Create create(com.google.api.services.drive.model.File content)", "com.google.api.services [...] @UriParams @Configurer(extended = true) @Generated("org.apache.camel.maven.ApiComponentGeneratorMojo") diff --git a/components/camel-google/camel-google-drive/src/generated/resources/META-INF/org/apache/camel/component/google/drive/google-drive.json b/components/camel-google/camel-google-drive/src/generated/resources/META-INF/org/apache/camel/component/google/drive/google-drive.json index 968c32aff9db..cefe90c6d0f9 100644 --- a/components/camel-google/camel-google-drive/src/generated/resources/META-INF/org/apache/camel/component/google/drive/google-drive.json +++ b/components/camel-google/camel-google-drive/src/generated/resources/META-INF/org/apache/camel/component/google/drive/google-drive.json @@ -84,11 +84,11 @@ "serviceAccountKey": { "index": 31, "kind": "parameter", "displayName": "Service Account Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.google.drive.GoogleDriveConfiguration", "configurationField": "configuration", "description": "Service account key in json format to authenticate an application as a service [...] }, "apis": { - "drive-changes": { "consumerOnly": false, "producerOnly": false, "description": "The changes collection of methods", "methods": { "getStartPageToken": { "description": "Gets the starting pageToken for listing future changes", "signatures": [ "com.google.api.services.drive.Drive$Changes$GetStartPageToken getStartPageToken()" ] }, "list": { "description": "Lists the changes for a user or shared drive", "signatures": [ "com.google.api.services.drive.Drive$Changes$List list(String pageTo [...] - "drive-channels": { "consumerOnly": false, "producerOnly": false, "description": "The channels collection of methods", "methods": { "stop": { "description": "Stops watching resources through this channel", "signatures": [ "com.google.api.services.drive.Drive$Channels$Stop stop(com.google.api.services.drive.model.Channel content)" ] } } }, + "drive-changes": { "consumerOnly": false, "producerOnly": false, "description": "The changes collection of methods", "methods": { "getStartPageToken": { "description": "Gets the starting pageToken for listing future changes", "signatures": [ "com.google.api.services.drive.Drive$Changes$GetStartPageToken getStartPageToken()" ] }, "list": { "description": "Lists the changes for a user or shared drive", "signatures": [ "com.google.api.services.drive.Drive$Changes$List list(String pageTo [...] + "drive-channels": { "consumerOnly": false, "producerOnly": false, "description": "The channels collection of methods", "methods": { "stop": { "description": "Stops watching resources through this channel", "signatures": [ "com.google.api.services.drive.Drive$Channels$Stop stop(com.google.api.services.drive.model.Channel contentChannel)" ] } } }, "drive-comments": { "consumerOnly": false, "producerOnly": false, "description": "The comments collection of methods", "methods": { "create": { "description": "Creates a comment on a file", "signatures": [ "com.google.api.services.drive.Drive$Comments$Create create(String fileId, com.google.api.services.drive.model.Comment content)" ] }, "delete": { "description": "Deletes a comment", "signatures": [ "com.google.api.services.drive.Drive$Comments$Delete delete(String fileId, String co [...] "drive-drives": { "consumerOnly": false, "producerOnly": false, "description": "The drives collection of methods", "methods": { "create": { "description": "Creates a shared drive", "signatures": [ "com.google.api.services.drive.Drive$Drives$Create create(String requestId, com.google.api.services.drive.model.Drive content)" ] }, "delete": { "description": "Permanently deletes a shared drive for which the user is an organizer", "signatures": [ "com.google.api.services.drive.Drive$Drive [...] - "drive-files": { "consumerOnly": false, "producerOnly": false, "description": "The files collection of methods", "methods": { "copy": { "description": "Creates a copy of a file and applies any requested updates with patch semantics", "signatures": [ "com.google.api.services.drive.Drive$Files$Copy copy(String fileId, com.google.api.services.drive.model.File content)" ] }, "create": { "description": "Creates a file", "signatures": [ "com.google.api.services.drive.Drive$Files$Create cre [...] + "drive-files": { "consumerOnly": false, "producerOnly": false, "description": "The files collection of methods", "methods": { "copy": { "description": "Creates a copy of a file and applies any requested updates with patch semantics", "signatures": [ "com.google.api.services.drive.Drive$Files$Copy copy(String fileId, com.google.api.services.drive.model.File file)" ] }, "create": { "description": "Creates a file", "signatures": [ "com.google.api.services.drive.Drive$Files$Create create [...] "drive-permissions": { "consumerOnly": false, "producerOnly": false, "description": "The permissions collection of methods", "methods": { "create": { "description": "Creates a permission for a file or shared drive", "signatures": [ "com.google.api.services.drive.Drive$Permissions$Create create(String fileId, com.google.api.services.drive.model.Permission content)" ] }, "delete": { "description": "Deletes a permission", "signatures": [ "com.google.api.services.drive.Drive$Permissions$ [...] "drive-replies": { "consumerOnly": false, "producerOnly": false, "description": "The replies collection of methods", "methods": { "create": { "description": "Creates a reply to a comment", "signatures": [ "com.google.api.services.drive.Drive$Replies$Create create(String fileId, String commentId, com.google.api.services.drive.model.Reply content)" ] }, "delete": { "description": "Deletes a reply", "signatures": [ "com.google.api.services.drive.Drive$Replies$Delete delete(String fileId [...] "drive-revisions": { "consumerOnly": false, "producerOnly": false, "description": "The revisions collection of methods", "methods": { "delete": { "description": "Permanently deletes a file version", "signatures": [ "com.google.api.services.drive.Drive$Revisions$Delete delete(String fileId, String revisionId)" ] }, "get": { "description": "Gets a revision's metadata or content by ID", "signatures": [ "com.google.api.services.drive.Drive$Revisions$Get get(String fileId, String revision [...] diff --git a/components/camel-google/camel-google-mail/src/generated/java/org/apache/camel/component/google/mail/GmailUsersMessagesEndpointConfiguration.java b/components/camel-google/camel-google-mail/src/generated/java/org/apache/camel/component/google/mail/GmailUsersMessagesEndpointConfiguration.java index 658d1140cc87..488d582999e8 100644 --- a/components/camel-google/camel-google-mail/src/generated/java/org/apache/camel/component/google/mail/GmailUsersMessagesEndpointConfiguration.java +++ b/components/camel-google/camel-google-mail/src/generated/java/org/apache/camel/component/google/mail/GmailUsersMessagesEndpointConfiguration.java @@ -17,7 +17,7 @@ import org.apache.camel.spi.UriParams; */ @ApiParams(apiName = "messages", description = "The messages collection of methods", - apiMethods = {@ApiMethod(methodName = "batchDelete", description="Deletes many messages by message ID", signatures={"com.google.api.services.gmail.Gmail$Users$Messages$BatchDelete batchDelete(String userId, com.google.api.services.gmail.model.BatchDeleteMessagesRequest content)"}), @ApiMethod(methodName = "batchModify", description="Modifies the labels on the specified messages", signatures={"com.google.api.services.gmail.Gmail$Users$Messages$BatchModify batchModify(String use [...] + apiMethods = {@ApiMethod(methodName = "batchDelete", description="Deletes many messages by message ID", signatures={"com.google.api.services.gmail.Gmail$Users$Messages$BatchDelete batchDelete(String userId, com.google.api.services.gmail.model.BatchDeleteMessagesRequest batchDeleteMessagesRequest)"}), @ApiMethod(methodName = "batchModify", description="Modifies the labels on the specified messages", signatures={"com.google.api.services.gmail.Gmail$Users$Messages$BatchModify bat [...] @UriParams @Configurer(extended = true) @Generated("org.apache.camel.maven.ApiComponentGeneratorMojo") diff --git a/components/camel-google/camel-google-mail/src/generated/resources/META-INF/org/apache/camel/component/google/mail/google-mail.json b/components/camel-google/camel-google-mail/src/generated/resources/META-INF/org/apache/camel/component/google/mail/google-mail.json index dfa81dabdf9d..96395b1f0451 100644 --- a/components/camel-google/camel-google-mail/src/generated/resources/META-INF/org/apache/camel/component/google/mail/google-mail.json +++ b/components/camel-google/camel-google-mail/src/generated/resources/META-INF/org/apache/camel/component/google/mail/google-mail.json @@ -82,7 +82,7 @@ "drafts": { "consumerOnly": false, "producerOnly": false, "description": "The drafts collection of methods", "methods": { "create": { "description": "Creates a new draft with the DRAFT label", "signatures": [ "com.google.api.services.gmail.Gmail$Users$Drafts$Create create(String userId, com.google.api.services.gmail.model.Draft content)", "com.google.api.services.gmail.Gmail$Users$Drafts$Create create(String userId, com.google.api.services.gmail.model.Draft content, com.google.api.cl [...] "history": { "consumerOnly": false, "producerOnly": false, "description": "The history collection of methods", "methods": { "list": { "description": "Lists the history of all changes to the given mailbox", "signatures": [ "com.google.api.services.gmail.Gmail$Users$History$List list(String userId)" ] } } }, "labels": { "consumerOnly": false, "producerOnly": false, "description": "The labels collection of methods", "methods": { "create": { "description": "Creates a new label", "signatures": [ "com.google.api.services.gmail.Gmail$Users$Labels$Create create(String userId, com.google.api.services.gmail.model.Label content)" ] }, "delete": { "description": "Immediately and permanently deletes the specified label and removes it from any messages and threads that it is applied to", "signatures [...] - "messages": { "consumerOnly": false, "producerOnly": false, "description": "The messages collection of methods", "methods": { "batchDelete": { "description": "Deletes many messages by message ID", "signatures": [ "com.google.api.services.gmail.Gmail$Users$Messages$BatchDelete batchDelete(String userId, com.google.api.services.gmail.model.BatchDeleteMessagesRequest content)" ] }, "batchModify": { "description": "Modifies the labels on the specified messages", "signatures": [ "com.goog [...] + "messages": { "consumerOnly": false, "producerOnly": false, "description": "The messages collection of methods", "methods": { "batchDelete": { "description": "Deletes many messages by message ID", "signatures": [ "com.google.api.services.gmail.Gmail$Users$Messages$BatchDelete batchDelete(String userId, com.google.api.services.gmail.model.BatchDeleteMessagesRequest batchDeleteMessagesRequest)" ] }, "batchModify": { "description": "Modifies the labels on the specified messages", "signa [...] "threads": { "consumerOnly": false, "producerOnly": false, "description": "The threads collection of methods", "methods": { "delete": { "description": "Immediately and permanently deletes the specified thread", "signatures": [ "com.google.api.services.gmail.Gmail$Users$Threads$Delete delete(String userId, String id)" ] }, "get": { "description": "Gets the specified thread", "signatures": [ "com.google.api.services.gmail.Gmail$Users$Threads$Get get(String userId, String id)" ] }, "lis [...] "users": { "consumerOnly": false, "producerOnly": false, "description": "The users collection of methods", "methods": { "getProfile": { "description": "Gets the current user's Gmail profile", "signatures": [ "com.google.api.services.gmail.Gmail$Users$GetProfile getProfile(String userId)" ] }, "stop": { "description": "Stop receiving push notifications for the given user mailbox", "signatures": [ "com.google.api.services.gmail.Gmail$Users$Stop stop(String userId)" ] }, "watch": { "des [...] }, diff --git a/components/camel-google/camel-google-sheets/src/generated/java/org/apache/camel/component/google/sheets/SheetsSpreadsheetsEndpointConfiguration.java b/components/camel-google/camel-google-sheets/src/generated/java/org/apache/camel/component/google/sheets/SheetsSpreadsheetsEndpointConfiguration.java index 91cd455b4dbf..d1a5b38da915 100644 --- a/components/camel-google/camel-google-sheets/src/generated/java/org/apache/camel/component/google/sheets/SheetsSpreadsheetsEndpointConfiguration.java +++ b/components/camel-google/camel-google-sheets/src/generated/java/org/apache/camel/component/google/sheets/SheetsSpreadsheetsEndpointConfiguration.java @@ -17,7 +17,7 @@ import org.apache.camel.spi.UriParams; */ @ApiParams(apiName = "spreadsheets", description = "The spreadsheets collection of methods", - apiMethods = {@ApiMethod(methodName = "batchUpdate", description="Applies one or more updates to the spreadsheet", signatures={"com.google.api.services.sheets.v4.Sheets$Spreadsheets$BatchUpdate batchUpdate(String spreadsheetId, com.google.api.services.sheets.v4.model.BatchUpdateSpreadsheetRequest content)"}), @ApiMethod(methodName = "create", description="Creates a spreadsheet, returning the newly created spreadsheet", signatures={"com.google.api.services.sheets.v4.Sheets$Spre [...] + apiMethods = {@ApiMethod(methodName = "batchUpdate", description="Applies one or more updates to the spreadsheet", signatures={"com.google.api.services.sheets.v4.Sheets$Spreadsheets$BatchUpdate batchUpdate(String spreadsheetId, com.google.api.services.sheets.v4.model.BatchUpdateSpreadsheetRequest batchUpdateSpreadsheetRequest)"}), @ApiMethod(methodName = "create", description="Creates a spreadsheet, returning the newly created spreadsheet", signatures={"com.google.api.services [...] @UriParams @Configurer(extended = true) @Generated("org.apache.camel.maven.ApiComponentGeneratorMojo") diff --git a/components/camel-google/camel-google-sheets/src/generated/java/org/apache/camel/component/google/sheets/SheetsSpreadsheetsValuesEndpointConfiguration.java b/components/camel-google/camel-google-sheets/src/generated/java/org/apache/camel/component/google/sheets/SheetsSpreadsheetsValuesEndpointConfiguration.java index e7bb6c435cbc..f333fa9fc360 100644 --- a/components/camel-google/camel-google-sheets/src/generated/java/org/apache/camel/component/google/sheets/SheetsSpreadsheetsValuesEndpointConfiguration.java +++ b/components/camel-google/camel-google-sheets/src/generated/java/org/apache/camel/component/google/sheets/SheetsSpreadsheetsValuesEndpointConfiguration.java @@ -17,7 +17,7 @@ import org.apache.camel.spi.UriParams; */ @ApiParams(apiName = "data", description = "The values collection of methods", - apiMethods = {@ApiMethod(methodName = "append", description="Appends values to a spreadsheet", signatures={"com.google.api.services.sheets.v4.Sheets$Spreadsheets$Values$Append append(String spreadsheetId, String range, com.google.api.services.sheets.v4.model.ValueRange content)"}), @ApiMethod(methodName = "batchClear", description="Clears one or more ranges of values from a spreadsheet", signatures={"com.google.api.services.sheets.v4.Sheets$Spreadsheets$Values$BatchClear batch [...] + apiMethods = {@ApiMethod(methodName = "append", description="Appends values to a spreadsheet", signatures={"com.google.api.services.sheets.v4.Sheets$Spreadsheets$Values$Append append(String spreadsheetId, String range, com.google.api.services.sheets.v4.model.ValueRange values)"}), @ApiMethod(methodName = "batchClear", description="Clears one or more ranges of values from a spreadsheet", signatures={"com.google.api.services.sheets.v4.Sheets$Spreadsheets$Values$BatchClear batchC [...] @UriParams @Configurer(extended = true) @Generated("org.apache.camel.maven.ApiComponentGeneratorMojo") diff --git a/components/camel-google/camel-google-sheets/src/generated/resources/META-INF/org/apache/camel/component/google/sheets/google-sheets.json b/components/camel-google/camel-google-sheets/src/generated/resources/META-INF/org/apache/camel/component/google/sheets/google-sheets.json index d228cb2fa04d..3f4188b2479f 100644 --- a/components/camel-google/camel-google-sheets/src/generated/resources/META-INF/org/apache/camel/component/google/sheets/google-sheets.json +++ b/components/camel-google/camel-google-sheets/src/generated/resources/META-INF/org/apache/camel/component/google/sheets/google-sheets.json @@ -81,8 +81,8 @@ "serviceAccountKey": { "index": 31, "kind": "parameter", "displayName": "Service Account Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.google.sheets.GoogleSheetsConfiguration", "configurationField": "configuration", "description": "Sets .json file with credentials for Service account" } }, "apis": { - "data": { "consumerOnly": false, "producerOnly": false, "description": "The values collection of methods", "methods": { "append": { "description": "Appends values to a spreadsheet", "signatures": [ "com.google.api.services.sheets.v4.Sheets$Spreadsheets$Values$Append append(String spreadsheetId, String range, com.google.api.services.sheets.v4.model.ValueRange content)" ] }, "batchClear": { "description": "Clears one or more ranges of values from a spreadsheet", "signatures": [ "com.go [...] - "spreadsheets": { "consumerOnly": false, "producerOnly": false, "description": "The spreadsheets collection of methods", "methods": { "batchUpdate": { "description": "Applies one or more updates to the spreadsheet", "signatures": [ "com.google.api.services.sheets.v4.Sheets$Spreadsheets$BatchUpdate batchUpdate(String spreadsheetId, com.google.api.services.sheets.v4.model.BatchUpdateSpreadsheetRequest content)" ] }, "create": { "description": "Creates a spreadsheet, returning the newly [...] + "data": { "consumerOnly": false, "producerOnly": false, "description": "The values collection of methods", "methods": { "append": { "description": "Appends values to a spreadsheet", "signatures": [ "com.google.api.services.sheets.v4.Sheets$Spreadsheets$Values$Append append(String spreadsheetId, String range, com.google.api.services.sheets.v4.model.ValueRange values)" ] }, "batchClear": { "description": "Clears one or more ranges of values from a spreadsheet", "signatures": [ "com.goo [...] + "spreadsheets": { "consumerOnly": false, "producerOnly": false, "description": "The spreadsheets collection of methods", "methods": { "batchUpdate": { "description": "Applies one or more updates to the spreadsheet", "signatures": [ "com.google.api.services.sheets.v4.Sheets$Spreadsheets$BatchUpdate batchUpdate(String spreadsheetId, com.google.api.services.sheets.v4.model.BatchUpdateSpreadsheetRequest batchUpdateSpreadsheetRequest)" ] }, "create": { "description": "Creates a spreadshee [...] }, "apiProperties": { "data": { "methods": { "append": { "properties": { "includeValuesInResponse": { "index": 0, "kind": "parameter", "displayName": "Include Values In Response", "group": "common", "label": "", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Determines if the update response should include the values of the cells that were appended", "optional": true }, "insertDataOptio [...] diff --git a/components/camel-zendesk/src/generated/java/org/apache/camel/component/zendesk/ZendeskEndpointConfiguration.java b/components/camel-zendesk/src/generated/java/org/apache/camel/component/zendesk/ZendeskEndpointConfiguration.java index 2bb54151b626..3f9be98e1d71 100644 --- a/components/camel-zendesk/src/generated/java/org/apache/camel/component/zendesk/ZendeskEndpointConfiguration.java +++ b/components/camel-zendesk/src/generated/java/org/apache/camel/component/zendesk/ZendeskEndpointConfiguration.java @@ -17,7 +17,7 @@ import org.apache.camel.spi.UriParams; */ @ApiParams(apiName = "DEFAULT", description = "", - apiMethods = {@ApiMethod(methodName = "addTagToOrganisations", signatures={"java.util.List<String> addTagToOrganisations(long id, String[] tags)"}), @ApiMethod(methodName = "addTagToTicket", signatures={"java.util.List<String> addTagToTicket(long id, String[] tags)"}), @ApiMethod(methodName = "addTagToTopics", signatures={"java.util.List<String> addTagToTopics(long id, String[] tags)"}), @ApiMethod(methodName = "associateAttachmentsToArticle", signatures={"void associateAttach [...] + apiMethods = {@ApiMethod(methodName = "addTagToOrganisations", signatures={"java.util.List<String> addTagToOrganisations(long id, String[] tags)"}), @ApiMethod(methodName = "addTagToTicket", signatures={"java.util.List<String> addTagToTicket(long id, String[] tags)"}), @ApiMethod(methodName = "addTagToTopics", signatures={"java.util.List<String> addTagToTopics(long id, String[] tags)"}), @ApiMethod(methodName = "associateAttachmentsToArticle", signatures={"void associateAttach [...] @UriParams @Configurer(extended = true) @Generated("org.apache.camel.maven.ApiComponentGeneratorMojo") diff --git a/components/camel-zendesk/src/generated/resources/META-INF/org/apache/camel/component/zendesk/zendesk.json b/components/camel-zendesk/src/generated/resources/META-INF/org/apache/camel/component/zendesk/zendesk.json index e9856b162293..648bc35c9a21 100644 --- a/components/camel-zendesk/src/generated/resources/META-INF/org/apache/camel/component/zendesk/zendesk.json +++ b/components/camel-zendesk/src/generated/resources/META-INF/org/apache/camel/component/zendesk/zendesk.json @@ -71,7 +71,7 @@ "username": { "index": 26, "kind": "parameter", "displayName": "Username", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.zendesk.ZendeskConfiguration", "configurationField": "configuration", "description": "The user name." } }, "apis": { - "DEFAULT": { "consumerOnly": false, "producerOnly": false, "description": "", "methods": { "addTagToOrganisations": { "description": "", "signatures": [ "java.util.List<String> addTagToOrganisations(long id, String[] tags)" ] }, "addTagToTicket": { "description": "", "signatures": [ "java.util.List<String> addTagToTicket(long id, String[] tags)" ] }, "addTagToTopics": { "description": "", "signatures": [ "java.util.List<String> addTagToTopics(long id, String[] tags)" ] }, "associateA [...] + "DEFAULT": { "consumerOnly": false, "producerOnly": false, "description": "", "methods": { "addTagToOrganisations": { "description": "", "signatures": [ "java.util.List<String> addTagToOrganisations(long id, String[] tags)" ] }, "addTagToTicket": { "description": "", "signatures": [ "java.util.List<String> addTagToTicket(long id, String[] tags)" ] }, "addTagToTopics": { "description": "", "signatures": [ "java.util.List<String> addTagToTopics(long id, String[] tags)" ] }, "associateA [...] }, "apiProperties": { "DEFAULT": { "methods": { "addTagToOrganisations": { "properties": { "id": { "index": 0, "kind": "parameter", "displayName": "Id", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "description": "", "optional": false }, "tags": { "index": 1, "kind": "parameter", "displayName": "Tags", "group": "common", "label": "", "required": false, "type": "array", "javaType": "java.lang.St [...] diff --git a/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/AbstractApiMethodGeneratorMojo.java b/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/AbstractApiMethodGeneratorMojo.java index ad78b7bd513e..d8fa442776ab 100644 --- a/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/AbstractApiMethodGeneratorMojo.java +++ b/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/AbstractApiMethodGeneratorMojo.java @@ -594,13 +594,70 @@ public abstract class AbstractApiMethodGeneratorMojo extends AbstractApiMethodBa for (ApiMethodParser.ApiMethodModel model : models) { if (model.getName().equals(methodName)) { if (model.getSignature() != null) { - list.add(model.getSignature()); + list.add(getSignatureWithArgumentNames(model.getSignature(), model.getArguments())); } } } return list; } + /** + * Returns the signature with the argument names of the given arguments, so the signature shows the names after + * substitution, as those are the names the endpoint expects (such as with inBody). + * + * @param signature the method signature as parsed from the source, with the original argument names + * @param arguments the method arguments (after substitution) in the order of the signature + * @return the signature with the argument names replaced, or the signature as-is if the arguments do not + * match the signature + */ + static String getSignatureWithArgumentNames(String signature, List<ApiMethodArg> arguments) { + final int start = signature.indexOf('('); + final int end = signature.lastIndexOf(')'); + if (start == -1 || end < start) { + return signature; + } + + // find the start and end of each argument name, the last identifier before a top level comma (not inside generics) + final List<int[]> names = new ArrayList<>(); + int depth = 0; + int segmentStart = start + 1; + for (int i = start + 1; i <= end; i++) { + char ch = signature.charAt(i); + if (ch == '<') { + depth++; + } else if (ch == '>') { + depth--; + } else if (i == end || ch == ',' && depth == 0) { + int nameEnd = i; + while (nameEnd > segmentStart && Character.isWhitespace(signature.charAt(nameEnd - 1))) { + nameEnd--; + } + int nameStart = nameEnd; + while (nameStart > segmentStart && Character.isJavaIdentifierPart(signature.charAt(nameStart - 1))) { + nameStart--; + } + if (nameStart < nameEnd) { + names.add(new int[] { nameStart, nameEnd }); + } + segmentStart = i + 1; + } + } + // extra options can be added to the arguments, but they come after the arguments of the signature + if (names.isEmpty() || names.size() > arguments.size()) { + return signature; + } + + final StringBuilder sb = new StringBuilder(); + int pos = 0; + for (int i = 0; i < names.size(); i++) { + int[] name = names.get(i); + sb.append(signature, pos, name[0]).append(arguments.get(i).getName()); + pos = name[1]; + } + sb.append(signature, pos, signature.length()); + return sb.toString(); + } + /* * This is used when configuring the plugin instead of directly, which is why it reports as unused * without the annotation diff --git a/tooling/maven/camel-api-component-maven-plugin/src/test/java/org/apache/camel/maven/ApiJavaSourceComponentGeneratorMojoTest.java b/tooling/maven/camel-api-component-maven-plugin/src/test/java/org/apache/camel/maven/ApiJavaSourceComponentGeneratorMojoTest.java index 22275a8f2f91..d9fdf32ec161 100644 --- a/tooling/maven/camel-api-component-maven-plugin/src/test/java/org/apache/camel/maven/ApiJavaSourceComponentGeneratorMojoTest.java +++ b/tooling/maven/camel-api-component-maven-plugin/src/test/java/org/apache/camel/maven/ApiJavaSourceComponentGeneratorMojoTest.java @@ -17,10 +17,14 @@ package org.apache.camel.maven; import java.io.File; +import java.nio.file.Files; import org.apache.camel.component.test.TestProxy; import org.junit.jupiter.api.Test; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + /** * Tests {@link ApiComponentGeneratorMojo} for javasource parser */ @@ -42,6 +46,31 @@ public class ApiJavaSourceComponentGeneratorMojoTest extends AbstractGeneratorMo assertExists(collectionFile); } + @Test + public void testSignaturesUseSubstitutedArgumentNames() throws Exception { + final File configFile = new File(OUT_DIR, COMPONENT_PACKAGE_PATH + "TestProxyEndpointConfiguration.java"); + configFile.delete(); + + final ApiComponentGeneratorMojo mojo = createGeneratorMojo(); + mojo.apis[0].setSubstitutions(new Substitution[] { + new Substitution("^greetUs$", "name1", null, "firstName", false), + new Substitution("^greetAll$", "names", "java.util.List", "nameList", false), + new Substitution("^greetWildcard$", "wildcardNames", null, "wildcards", false) }); + + mojo.execute(); + + assertExists(configFile); + final String config = Files.readString(configFile.toPath()); + // the signatures in @ApiMethod (which goes into the catalog) must use the names the endpoint expects + assertTrue(config.contains("greetUs(String firstName, String name2)"), config); + assertTrue(config.contains("greetAll(java.util.List<String> nameList)"), config); + assertTrue(config.contains("greetAll(java.util.Map peopleMap)"), config); + assertTrue(config.contains("greetWildcard(String[] wildcards)"), config); + assertTrue(config.contains("greetTimes(String name, int times)"), config); + assertFalse(config.contains("String name1"), config); + assertFalse(config.contains("List<String> names)"), config); + } + @Override protected ApiComponentGeneratorMojo createGeneratorMojo() { final ApiComponentGeneratorMojo mojo = new ApiComponentGeneratorMojo(); diff --git a/tooling/maven/camel-api-component-maven-plugin/src/test/java/org/apache/camel/maven/SignatureWithArgumentNamesTest.java b/tooling/maven/camel-api-component-maven-plugin/src/test/java/org/apache/camel/maven/SignatureWithArgumentNamesTest.java new file mode 100644 index 000000000000..c1e41fd69116 --- /dev/null +++ b/tooling/maven/camel-api-component-maven-plugin/src/test/java/org/apache/camel/maven/SignatureWithArgumentNamesTest.java @@ -0,0 +1,72 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.camel.maven; + +import java.util.List; +import java.util.Map; + +import org.apache.camel.support.component.ApiMethodArg; +import org.junit.jupiter.api.Test; + +import static org.apache.camel.maven.AbstractApiMethodGeneratorMojo.getSignatureWithArgumentNames; +import static org.junit.jupiter.api.Assertions.assertEquals; + +/** + * Tests the argument names in the signatures written to the catalog are the names after substitution. + */ +public class SignatureWithArgumentNamesTest { + + @Test + public void testSubstitutedName() { + assertEquals("Modify modify(String userId, String id, ModifyMessageRequest modifyMessageRequest)", + getSignatureWithArgumentNames("Modify modify(String userId, String id, ModifyMessageRequest content)", + List.of(arg("userId", String.class), arg("id", String.class), + arg("modifyMessageRequest", Object.class)))); + } + + @Test + public void testGenericsWithComma() { + assertEquals("Map<String, Object> put(java.util.Map<String, java.util.List<Object>> values, int count)", + getSignatureWithArgumentNames( + "Map<String, Object> put(java.util.Map<String, java.util.List<Object>> content, int size)", + List.of(arg("values", Map.class), arg("count", int.class)))); + } + + @Test + public void testExtraOptionsAfterSignatureArguments() { + // an extra option included for the method is added after the arguments of the signature + assertEquals("Get get(String fileId)", + getSignatureWithArgumentNames("Get get(String fileId)", + List.of(arg("fileId", String.class), arg("extraOption", String.class)))); + } + + @Test + public void testUnchanged() { + assertEquals("String sayHi()", getSignatureWithArgumentNames("String sayHi()", List.of())); + assertEquals("String[] greetTimes(String name, int times)", + getSignatureWithArgumentNames("String[] greetTimes(String name, int times)", + List.of(arg("name", String.class), arg("times", int.class)))); + // does not match the arguments so keep the signature as-is + assertEquals("String greetUs(String name1, String name2)", + getSignatureWithArgumentNames("String greetUs(String name1, String name2)", + List.of(arg("firstName", String.class)))); + } + + private static ApiMethodArg arg(String name, Class<?> type) { + return new ApiMethodArg(name, type, null, type.getName(), null); + } +}
