You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2020/09/16 07:17:16 UTC

[camel] 04/04: CAMEL-15478: Generated api source now includes correct return type and handles primitive arrays better.

This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch api
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 00c3d249fca114bd55eecf27007f09cfe35dfb91
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Wed Sep 16 09:16:48 2020 +0200

    CAMEL-15478: Generated api source now includes correct return type and handles primitive arrays better.
---
 .../component/box/internal/BoxFilesManagerApiMethod.java |  2 +-
 .../fhir/internal/FhirCapabilitiesApiMethod.java         |  2 +-
 .../component/fhir/internal/FhirHistoryApiMethod.java    |  6 +++---
 .../component/fhir/internal/FhirLoadPageApiMethod.java   |  6 +++---
 .../camel/component/fhir/internal/FhirMetaApiMethod.java | 10 +++++-----
 .../component/fhir/internal/FhirOperationApiMethod.java  |  2 +-
 .../component/zendesk/internal/ZendeskApiMethod.java     | 16 ++++++++--------
 .../camel/maven/AbstractApiMethodGeneratorMojo.java      |  8 ++++++--
 8 files changed, 28 insertions(+), 24 deletions(-)

diff --git a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/internal/BoxFilesManagerApiMethod.java b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/internal/BoxFilesManagerApiMethod.java
index 06da5ce..ff985e0 100644
--- a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/internal/BoxFilesManagerApiMethod.java
+++ b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/internal/BoxFilesManagerApiMethod.java
@@ -105,7 +105,7 @@ public enum BoxFilesManagerApiMethod implements ApiMethod {
         arg("fileId", String.class)),
 
     GET_FILE_THUMBNAIL(
-        byte.class,
+        byte[].class,
         "getFileThumbnail",
         arg("fileId", String.class),
         arg("fileType", com.box.sdk.BoxFile.ThumbnailFileType.class),
diff --git a/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/internal/FhirCapabilitiesApiMethod.java b/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/internal/FhirCapabilitiesApiMethod.java
index 5a2509c..48a8f0b 100644
--- a/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/internal/FhirCapabilitiesApiMethod.java
+++ b/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/internal/FhirCapabilitiesApiMethod.java
@@ -21,7 +21,7 @@ import static org.apache.camel.support.component.ApiMethodArg.arg;
 public enum FhirCapabilitiesApiMethod implements ApiMethod {
 
     OF_TYPE(
-        Object.class,
+        org.hl7.fhir.instance.model.api.IBaseConformance.class,
         "ofType",
         arg("type", Class.class),
         arg("extraParameters", java.util.Map.class));
diff --git a/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/internal/FhirHistoryApiMethod.java b/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/internal/FhirHistoryApiMethod.java
index 24d7f99..cd8f1df 100644
--- a/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/internal/FhirHistoryApiMethod.java
+++ b/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/internal/FhirHistoryApiMethod.java
@@ -21,7 +21,7 @@ import static org.apache.camel.support.component.ApiMethodArg.arg;
 public enum FhirHistoryApiMethod implements ApiMethod {
 
     ON_INSTANCE(
-        Object.class,
+        org.hl7.fhir.instance.model.api.IBaseBundle.class,
         "onInstance",
         arg("id", org.hl7.fhir.instance.model.api.IIdType.class),
         arg("returnType", Class.class),
@@ -31,7 +31,7 @@ public enum FhirHistoryApiMethod implements ApiMethod {
         arg("extraParameters", java.util.Map.class)),
 
     ON_SERVER(
-        Object.class,
+        org.hl7.fhir.instance.model.api.IBaseBundle.class,
         "onServer",
         arg("returnType", Class.class),
         arg("count", Integer.class),
@@ -40,7 +40,7 @@ public enum FhirHistoryApiMethod implements ApiMethod {
         arg("extraParameters", java.util.Map.class)),
 
     ON_TYPE(
-        Object.class,
+        org.hl7.fhir.instance.model.api.IBaseBundle.class,
         "onType",
         arg("resourceType", Class.class),
         arg("returnType", Class.class),
diff --git a/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/internal/FhirLoadPageApiMethod.java b/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/internal/FhirLoadPageApiMethod.java
index f98f8d4..3999793 100644
--- a/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/internal/FhirLoadPageApiMethod.java
+++ b/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/internal/FhirLoadPageApiMethod.java
@@ -21,20 +21,20 @@ import static org.apache.camel.support.component.ApiMethodArg.arg;
 public enum FhirLoadPageApiMethod implements ApiMethod {
 
     BY_URL(
-        Object.class,
+        org.hl7.fhir.instance.model.api.IBaseBundle.class,
         "byUrl",
         arg("url", String.class),
         arg("returnType", Class.class),
         arg("extraParameters", java.util.Map.class)),
 
     NEXT(
-        Object.class,
+        org.hl7.fhir.instance.model.api.IBaseBundle.class,
         "next",
         arg("bundle", org.hl7.fhir.instance.model.api.IBaseBundle.class),
         arg("extraParameters", java.util.Map.class)),
 
     PREVIOUS(
-        Object.class,
+        org.hl7.fhir.instance.model.api.IBaseBundle.class,
         "previous",
         arg("bundle", org.hl7.fhir.instance.model.api.IBaseBundle.class),
         arg("extraParameters", java.util.Map.class));
diff --git a/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/internal/FhirMetaApiMethod.java b/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/internal/FhirMetaApiMethod.java
index c6c5e27..03e71d6 100644
--- a/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/internal/FhirMetaApiMethod.java
+++ b/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/internal/FhirMetaApiMethod.java
@@ -21,34 +21,34 @@ import static org.apache.camel.support.component.ApiMethodArg.arg;
 public enum FhirMetaApiMethod implements ApiMethod {
 
     ADD(
-        Object.class,
+        org.hl7.fhir.instance.model.api.IBaseMetaType.class,
         "add",
         arg("meta", org.hl7.fhir.instance.model.api.IBaseMetaType.class),
         arg("id", org.hl7.fhir.instance.model.api.IIdType.class),
         arg("extraParameters", java.util.Map.class)),
 
     DELETE(
-        Object.class,
+        org.hl7.fhir.instance.model.api.IBaseMetaType.class,
         "delete",
         arg("meta", org.hl7.fhir.instance.model.api.IBaseMetaType.class),
         arg("id", org.hl7.fhir.instance.model.api.IIdType.class),
         arg("extraParameters", java.util.Map.class)),
 
     GET_FROM_RESOURCE(
-        Object.class,
+        org.hl7.fhir.instance.model.api.IBaseMetaType.class,
         "getFromResource",
         arg("metaType", Class.class),
         arg("id", org.hl7.fhir.instance.model.api.IIdType.class),
         arg("extraParameters", java.util.Map.class)),
 
     GET_FROM_SERVER(
-        Object.class,
+        org.hl7.fhir.instance.model.api.IBaseMetaType.class,
         "getFromServer",
         arg("metaType", Class.class),
         arg("extraParameters", java.util.Map.class)),
 
     GET_FROM_TYPE(
-        Object.class,
+        org.hl7.fhir.instance.model.api.IBaseMetaType.class,
         "getFromType",
         arg("metaType", Class.class),
         arg("resourceType", String.class),
diff --git a/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/internal/FhirOperationApiMethod.java b/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/internal/FhirOperationApiMethod.java
index 2a5ade0..10800f2 100644
--- a/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/internal/FhirOperationApiMethod.java
+++ b/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/internal/FhirOperationApiMethod.java
@@ -64,7 +64,7 @@ public enum FhirOperationApiMethod implements ApiMethod {
         arg("extraParameters", java.util.Map.class)),
 
     PROCESS_MESSAGE(
-        Object.class,
+        org.hl7.fhir.instance.model.api.IBaseBundle.class,
         "processMessage",
         arg("respondToUri", String.class),
         arg("msgBundle", org.hl7.fhir.instance.model.api.IBaseBundle.class),
diff --git a/components/camel-zendesk/src/generated/java/org/apache/camel/component/zendesk/internal/ZendeskApiMethod.java b/components/camel-zendesk/src/generated/java/org/apache/camel/component/zendesk/internal/ZendeskApiMethod.java
index 6ca9ea6..92ee35a 100644
--- a/components/camel-zendesk/src/generated/java/org/apache/camel/component/zendesk/internal/ZendeskApiMethod.java
+++ b/components/camel-zendesk/src/generated/java/org/apache/camel/component/zendesk/internal/ZendeskApiMethod.java
@@ -286,14 +286,14 @@ public enum ZendeskApiMethod implements ApiMethod {
         org.zendesk.client.v2.model.Attachment.Upload.class,
         "createUpload",
         arg("fileName", String.class),
-        arg("content", new byte[0].getClass())),
+        arg("content", byte[].class)),
 
     CREATE_UPLOAD_1(
         org.zendesk.client.v2.model.Attachment.Upload.class,
         "createUpload",
         arg("fileName", String.class),
         arg("contentType", String.class),
-        arg("content", new byte[0].getClass())),
+        arg("content", byte[].class)),
 
     CREATE_UPLOAD_2(
         org.zendesk.client.v2.model.Attachment.Upload.class,
@@ -301,7 +301,7 @@ public enum ZendeskApiMethod implements ApiMethod {
         arg("token", String.class),
         arg("fileName", String.class),
         arg("contentType", String.class),
-        arg("content", new byte[0].getClass())),
+        arg("content", byte[].class)),
 
     CREATE_UPLOAD_ARTICLE(
         org.zendesk.client.v2.model.hc.ArticleAttachments.class,
@@ -467,7 +467,7 @@ public enum ZendeskApiMethod implements ApiMethod {
         void.class,
         "deleteOrganizationMemberships",
         arg("id", long.class),
-        arg("ids", new long[0].getClass())),
+        arg("ids", long[].class)),
 
     DELETE_PERMISSION_GROUP(
         void.class,
@@ -523,7 +523,7 @@ public enum ZendeskApiMethod implements ApiMethod {
         void.class,
         "deleteTickets",
         arg("id", long.class),
-        arg("ids", new long[0].getClass())),
+        arg("ids", long[].class)),
 
     DELETE_TOPIC(
         void.class,
@@ -1196,7 +1196,7 @@ public enum ZendeskApiMethod implements ApiMethod {
         java.util.List.class,
         "getTickets",
         arg("id", long.class),
-        arg("ids", new long[0].getClass())),
+        arg("ids", long[].class)),
 
     GET_TICKETS_BY_EXTERNAL_ID(
         Iterable.class,
@@ -1248,7 +1248,7 @@ public enum ZendeskApiMethod implements ApiMethod {
         java.util.List.class,
         "getTopics",
         arg("id", long.class),
-        arg("ids", new long[0].getClass())),
+        arg("ids", long[].class)),
 
     GET_TOPICS_BY_USER(
         java.util.List.class,
@@ -1462,7 +1462,7 @@ public enum ZendeskApiMethod implements ApiMethod {
         org.zendesk.client.v2.model.JobStatus.class,
         "permanentlyDeleteTickets",
         arg("id", long.class),
-        arg("ids", new long[0].getClass())),
+        arg("ids", long[].class)),
 
     PERMANENTLY_DELETE_USER(
         org.zendesk.client.v2.model.User.class,
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 51db0d0..704994f 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
@@ -291,8 +291,12 @@ public abstract class AbstractApiMethodGeneratorMojo extends AbstractApiMethodBa
 
     public static String getType(Class<?> clazz) {
         if (clazz.isArray()) {
-            // create a zero length array and get the class from the instance
-            return "new " + getCanonicalName(clazz).replaceAll("\\[\\]", "[0]") + ".getClass()";
+            if (clazz.getComponentType().isPrimitive()) {
+                return getCanonicalName(clazz) + ".class";
+            } else {
+                // create a zero length array and get the class from the instance
+                return "new " + getCanonicalName(clazz).replaceAll("\\[\\]", "[0]") + ".getClass()";
+            }
         } else {
             return getCanonicalName(clazz) + ".class";
         }