You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by gn...@apache.org on 2020/02/14 09:19:27 UTC

[camel] 01/02: [CAMEL-14563] The camel api generator maven plugin does not support packages correctly

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

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

commit e53b0368c189cac4e1a68545440e43f325fd642e
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Fri Feb 14 09:53:35 2020 +0100

    [CAMEL-14563] The camel api generator maven plugin does not support packages correctly
---
 components/camel-twilio/pom.xml                    | 54 ++++++++++++++++------
 .../maven/AbstractApiMethodGeneratorMojo.java      | 12 +++--
 .../camel/maven/ApiComponentGeneratorMojo.java     | 13 ++++--
 .../main/java/org/apache/camel/maven/ApiProxy.java | 10 ++++
 .../src/main/resources/api-collection.vm           |  7 ++-
 5 files changed, 71 insertions(+), 25 deletions(-)

diff --git a/components/camel-twilio/pom.xml b/components/camel-twilio/pom.xml
index 6da1df0..8f5dce5 100644
--- a/components/camel-twilio/pom.xml
+++ b/components/camel-twilio/pom.xml
@@ -278,6 +278,7 @@
                                 <!-- Package: com.twilio.rest.api.v2010.account.address -->
                                 <api>
                                     <apiName>address-dependent-phone-number</apiName>
+                                    <classPrefix>Address</classPrefix>
                                     <proxyClass>com.twilio.rest.api.v2010.account.address.DependentPhoneNumber
                                     </proxyClass>
                                     <fromJavadoc>
@@ -288,6 +289,7 @@
                                 <!-- Package: com.twilio.rest.api.v2010.account.availablephonenumbercountry -->
                                 <api>
                                     <apiName>available-phone-number-country-local</apiName>
+                                    <classPrefix>AvailablePhoneNumberCountry</classPrefix>
                                     <proxyClass>com.twilio.rest.api.v2010.account.availablephonenumbercountry.Local
                                     </proxyClass>
                                     <fromJavadoc>
@@ -297,6 +299,7 @@
                                 </api>
                                 <api>
                                     <apiName>available-phone-number-country-mobile</apiName>
+                                    <classPrefix>AvailablePhoneNumberCountry</classPrefix>
                                     <proxyClass>com.twilio.rest.api.v2010.account.availablephonenumbercountry.Mobile
                                     </proxyClass>
                                     <fromJavadoc>
@@ -306,6 +309,7 @@
                                 </api>
                                 <api>
                                     <apiName>available-phone-number-country-toll-free</apiName>
+                                    <classPrefix>AvailablePhoneNumberCountry</classPrefix>
                                     <proxyClass>com.twilio.rest.api.v2010.account.availablephonenumbercountry.TollFree
                                     </proxyClass>
                                     <fromJavadoc>
@@ -316,6 +320,7 @@
                                 <!-- Package: com.twilio.rest.api.v2010.account.call -->
                                 <api>
                                     <apiName>call-feedback</apiName>
+                                    <classPrefix>Call</classPrefix>
                                     <proxyClass>com.twilio.rest.api.v2010.account.call.Feedback</proxyClass>
                                     <fromJavadoc>
                                         <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
@@ -324,6 +329,7 @@
                                 </api>
                                 <api>
                                     <apiName>call-feedback-summary</apiName>
+                                    <classPrefix>Call</classPrefix>
                                     <proxyClass>com.twilio.rest.api.v2010.account.call.FeedbackSummary</proxyClass>
                                     <fromJavadoc>
                                         <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
@@ -332,6 +338,7 @@
                                 </api>
                                 <api>
                                     <apiName>call-notification</apiName>
+                                    <classPrefix>Call</classPrefix>
                                     <proxyClass>com.twilio.rest.api.v2010.account.call.Notification</proxyClass>
                                     <fromJavadoc>
                                         <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
@@ -340,6 +347,7 @@
                                 </api>
                                 <api>
                                     <apiName>call-recording</apiName>
+                                    <classPrefix>Call</classPrefix>
                                     <proxyClass>com.twilio.rest.api.v2010.account.call.Recording</proxyClass>
                                     <fromJavadoc>
                                         <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
@@ -349,6 +357,7 @@
                                 <!-- Package: com.twilio.rest.api.v2010.account.conference -->
                                 <api>
                                     <apiName>conference-participant</apiName>
+                                    <classPrefix>Conference</classPrefix>
                                     <proxyClass>com.twilio.rest.api.v2010.account.conference.Participant</proxyClass>
                                     <fromJavadoc>
                                         <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
@@ -358,6 +367,7 @@
                                 <!-- Package: com.twilio.rest.api.v2010.account.incomingphonenumber -->
                                 <api>
                                     <apiName>incoming-phone-number-local</apiName>
+                                    <classPrefix>IncomingPhoneNumber</classPrefix>
                                     <proxyClass>com.twilio.rest.api.v2010.account.incomingphonenumber.Local</proxyClass>
                                     <fromJavadoc>
                                         <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
@@ -366,8 +376,8 @@
                                 </api>
                                 <api>
                                     <apiName>incoming-phone-number-mobile</apiName>
-                                    <proxyClass>com.twilio.rest.api.v2010.account.incomingphonenumber.Mobile
-                                    </proxyClass>
+                                    <classPrefix>IncomingPhoneNumber</classPrefix>
+                                    <proxyClass>com.twilio.rest.api.v2010.account.incomingphonenumber.Mobile</proxyClass>
                                     <fromJavadoc>
                                         <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                                         <includeStaticMethods>true</includeStaticMethods>
@@ -375,8 +385,8 @@
                                 </api>
                                 <api>
                                     <apiName>incoming-phone-number-toll-free</apiName>
-                                    <proxyClass>com.twilio.rest.api.v2010.account.incomingphonenumber.TollFree
-                                    </proxyClass>
+                                    <classPrefix>IncomingPhoneNumber</classPrefix>
+                                    <proxyClass>com.twilio.rest.api.v2010.account.incomingphonenumber.TollFree</proxyClass>
                                     <fromJavadoc>
                                         <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                                         <includeStaticMethods>true</includeStaticMethods>
@@ -385,6 +395,7 @@
                                 <!-- Package: com.twilio.rest.api.v2010.account.message -->
                                 <api>
                                     <apiName>message-feedback</apiName>
+                                    <classPrefix>Message</classPrefix>
                                     <proxyClass>com.twilio.rest.api.v2010.account.message.Feedback</proxyClass>
                                     <fromJavadoc>
                                         <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
@@ -393,6 +404,7 @@
                                 </api>
                                 <api>
                                     <apiName>message-media</apiName>
+                                    <classPrefix>Message</classPrefix>
                                     <proxyClass>com.twilio.rest.api.v2010.account.message.Media</proxyClass>
                                     <fromJavadoc>
                                         <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
@@ -402,6 +414,7 @@
                                 <!-- Package: com.twilio.rest.api.v2010.account.queue -->
                                 <api>
                                     <apiName>queue-member</apiName>
+                                    <classPrefix>Queue</classPrefix>
                                     <proxyClass>com.twilio.rest.api.v2010.account.queue.Member</proxyClass>
                                     <fromJavadoc>
                                         <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
@@ -411,6 +424,7 @@
                                 <!-- Package: com.twilio.rest.api.v2010.account.recording -->
                                 <api>
                                     <apiName>recording-add-on-result</apiName>
+                                    <classPrefix>Recording</classPrefix>
                                     <proxyClass>com.twilio.rest.api.v2010.account.recording.AddOnResult</proxyClass>
                                     <fromJavadoc>
                                         <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
@@ -419,6 +433,7 @@
                                 </api>
                                 <api>
                                     <apiName>recording-transcription</apiName>
+                                    <classPrefix>Recording</classPrefix>
                                     <proxyClass>com.twilio.rest.api.v2010.account.recording.Transcription</proxyClass>
                                     <fromJavadoc>
                                         <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
@@ -428,8 +443,8 @@
                                 <!-- Package: com.twilio.rest.api.v2010.account.recording.addonresult -->
                                 <api>
                                     <apiName>recording-add-on-result-payload</apiName>
-                                    <proxyClass>com.twilio.rest.api.v2010.account.recording.addonresult.Payload
-                                    </proxyClass>
+                                    <classPrefix>RecordingAddOnResult</classPrefix>
+                                    <proxyClass>com.twilio.rest.api.v2010.account.recording.addonresult.Payload</proxyClass>
                                     <fromJavadoc>
                                         <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                                         <includeStaticMethods>true</includeStaticMethods>
@@ -438,6 +453,7 @@
                                 <!-- Package: com.twilio.rest.api.v2010.account.sip -->
                                 <api>
                                     <apiName>sip-credential-list</apiName>
+                                    <classPrefix>Sip</classPrefix>
                                     <proxyClass>com.twilio.rest.api.v2010.account.sip.CredentialList</proxyClass>
                                     <fromJavadoc>
                                         <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
@@ -446,6 +462,7 @@
                                 </api>
                                 <api>
                                     <apiName>sip-domain</apiName>
+                                    <classPrefix>Sip</classPrefix>
                                     <proxyClass>com.twilio.rest.api.v2010.account.sip.Domain</proxyClass>
                                     <fromJavadoc>
                                         <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
@@ -454,6 +471,7 @@
                                 </api>
                                 <api>
                                     <apiName>sip-ip-access-control-list</apiName>
+                                    <classPrefix>Sip</classPrefix>
                                     <proxyClass>com.twilio.rest.api.v2010.account.sip.IpAccessControlList</proxyClass>
                                     <fromJavadoc>
                                         <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
@@ -463,8 +481,8 @@
                                 <!-- Package: com.twilio.rest.api.v2010.account.sip.credentiallist -->
                                 <api>
                                     <apiName>sip-credential-list-credential</apiName>
-                                    <proxyClass>com.twilio.rest.api.v2010.account.sip.credentiallist.Credential
-                                    </proxyClass>
+                                    <classPrefix>Sip</classPrefix>
+                                    <proxyClass>com.twilio.rest.api.v2010.account.sip.credentiallist.Credential</proxyClass>
                                     <fromJavadoc>
                                         <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                                         <includeStaticMethods>true</includeStaticMethods>
@@ -473,8 +491,8 @@
                                 <!-- Package: com.twilio.rest.api.v2010.account.sip.domain -->
                                 <api>
                                     <apiName>sip-domain-credential-list-mapping</apiName>
-                                    <proxyClass>com.twilio.rest.api.v2010.account.sip.domain.CredentialListMapping
-                                    </proxyClass>
+                                    <classPrefix>SipDomain</classPrefix>
+                                    <proxyClass>com.twilio.rest.api.v2010.account.sip.domain.CredentialListMapping</proxyClass>
                                     <fromJavadoc>
                                         <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                                         <includeStaticMethods>true</includeStaticMethods>
@@ -482,9 +500,8 @@
                                 </api>
                                 <api>
                                     <apiName>sip-domain-ip-access-control-list-mapping</apiName>
-                                    <proxyClass>
-                                        com.twilio.rest.api.v2010.account.sip.domain.IpAccessControlListMapping
-                                    </proxyClass>
+                                    <classPrefix>SipDomain</classPrefix>
+                                    <proxyClass>com.twilio.rest.api.v2010.account.sip.domain.IpAccessControlListMapping</proxyClass>
                                     <fromJavadoc>
                                         <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                                         <includeStaticMethods>true</includeStaticMethods>
@@ -493,6 +510,7 @@
                                 <!-- Package: com.twilio.rest.api.v2010.account.sip.ipaccesscontrollist -->
                                 <api>
                                     <apiName>sip-ip-access-control-list-ip-address</apiName>
+                                    <classPrefix>SipIpAccessControlList</classPrefix>
                                     <proxyClass>com.twilio.rest.api.v2010.account.sip.ipaccesscontrollist.IpAddress
                                     </proxyClass>
                                     <fromJavadoc>
@@ -503,6 +521,7 @@
                                 <!-- Package: com.twilio.rest.api.v2010.account.usage -->
                                 <api>
                                     <apiName>usage-record</apiName>
+                                    <classPrefix>Usage</classPrefix>
                                     <proxyClass>com.twilio.rest.api.v2010.account.usage.Record</proxyClass>
                                     <fromJavadoc>
                                         <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
@@ -511,6 +530,7 @@
                                 </api>
                                 <api>
                                     <apiName>usage-trigger</apiName>
+                                    <classPrefix>Usage</classPrefix>
                                     <proxyClass>com.twilio.rest.api.v2010.account.usage.Trigger</proxyClass>
                                     <fromJavadoc>
                                         <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
@@ -520,6 +540,7 @@
                                 <!-- Package: com.twilio.rest.api.v2010.account.usage.record -->
                                 <api>
                                     <apiName>usage-record-all-time</apiName>
+                                    <classPrefix>UsageRecord</classPrefix>
                                     <proxyClass>com.twilio.rest.api.v2010.account.usage.record.AllTime</proxyClass>
                                     <fromJavadoc>
                                         <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
@@ -528,6 +549,7 @@
                                 </api>
                                 <api>
                                     <apiName>usage-record-daily</apiName>
+                                    <classPrefix>UsageRecord</classPrefix>
                                     <proxyClass>com.twilio.rest.api.v2010.account.usage.record.Daily</proxyClass>
                                     <fromJavadoc>
                                         <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
@@ -536,6 +558,7 @@
                                 </api>
                                 <api>
                                     <apiName>usage-record-last-month</apiName>
+                                    <classPrefix>UsageRecord</classPrefix>
                                     <proxyClass>com.twilio.rest.api.v2010.account.usage.record.LastMonth</proxyClass>
                                     <fromJavadoc>
                                         <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
@@ -544,6 +567,7 @@
                                 </api>
                                 <api>
                                     <apiName>usage-record-monthly</apiName>
+                                    <classPrefix>UsageRecord</classPrefix>
                                     <proxyClass>com.twilio.rest.api.v2010.account.usage.record.Monthly</proxyClass>
                                     <fromJavadoc>
                                         <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
@@ -552,6 +576,7 @@
                                 </api>
                                 <api>
                                     <apiName>usage-record-this-month</apiName>
+                                    <classPrefix>UsageRecord</classPrefix>
                                     <proxyClass>com.twilio.rest.api.v2010.account.usage.record.ThisMonth</proxyClass>
                                     <fromJavadoc>
                                         <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
@@ -560,6 +585,7 @@
                                 </api>
                                 <api>
                                     <apiName>usage-record-today</apiName>
+                                    <classPrefix>UsageRecord</classPrefix>
                                     <proxyClass>com.twilio.rest.api.v2010.account.usage.record.Today</proxyClass>
                                     <fromJavadoc>
                                         <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
@@ -568,6 +594,7 @@
                                 </api>
                                 <api>
                                     <apiName>usage-record-yearly</apiName>
+                                    <classPrefix>UsageRecord</classPrefix>
                                     <proxyClass>com.twilio.rest.api.v2010.account.usage.record.Yearly</proxyClass>
                                     <fromJavadoc>
                                         <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
@@ -576,6 +603,7 @@
                                 </api>
                                 <api>
                                     <apiName>usage-record-yesterday</apiName>
+                                    <classPrefix>UsageRecord</classPrefix>
                                     <proxyClass>com.twilio.rest.api.v2010.account.usage.record.Yesterday</proxyClass>
                                     <fromJavadoc>
                                         <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
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 704b13b..90e509a 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
@@ -42,6 +42,9 @@ public abstract class AbstractApiMethodGeneratorMojo extends AbstractApiMethodBa
     @Parameter(required = true, property = PREFIX + "proxyClass")
     protected String proxyClass;
 
+    @Parameter
+    protected String classPrefix;
+
     // cached fields
     private Class<?> proxyType;
 
@@ -121,7 +124,8 @@ public abstract class AbstractApiMethodGeneratorMojo extends AbstractApiMethodBa
 
     private String getEnumName() throws MojoExecutionException {
         String proxyClassWithCanonicalName = getProxyClassWithCanonicalName(proxyClass);
-        return proxyClassWithCanonicalName.substring(proxyClassWithCanonicalName.lastIndexOf('.') + 1) + "ApiMethod";
+        String prefix = classPrefix != null ? classPrefix : "";
+        return prefix + proxyClassWithCanonicalName.substring(proxyClassWithCanonicalName.lastIndexOf('.') + 1) + "ApiMethod";
     }
 
     private VelocityContext getApiTestContext(List<ApiMethodParser.ApiMethodModel> models) throws MojoExecutionException {
@@ -143,7 +147,8 @@ public abstract class AbstractApiMethodGeneratorMojo extends AbstractApiMethodBa
 
     private String getUnitTestName() throws MojoExecutionException {
         String proxyClassWithCanonicalName = getProxyClassWithCanonicalName(proxyClass);
-        return proxyClassWithCanonicalName.substring(proxyClassWithCanonicalName.lastIndexOf('.') + 1) + "IntegrationTest";
+        String prefix = classPrefix != null ? classPrefix : "";
+        return prefix + proxyClassWithCanonicalName.substring(proxyClassWithCanonicalName.lastIndexOf('.') + 1) + "IntegrationTest";
     }
 
     private VelocityContext getEndpointContext(List<ApiMethodParser.ApiMethodModel> models) throws MojoExecutionException {
@@ -205,7 +210,8 @@ public abstract class AbstractApiMethodGeneratorMojo extends AbstractApiMethodBa
 
     private String getConfigName() throws MojoExecutionException {
         String proxyClassWithCanonicalName = getProxyClassWithCanonicalName(proxyClass);
-        return proxyClassWithCanonicalName.substring(proxyClassWithCanonicalName.lastIndexOf('.') + 1) + "EndpointConfiguration";
+        String prefix = classPrefix != null ? classPrefix : "";
+        return prefix + proxyClassWithCanonicalName.substring(proxyClassWithCanonicalName.lastIndexOf('.') + 1) + "EndpointConfiguration";
     }
 
     private String getProxyClassWithCanonicalName(String proxyClass) {
diff --git a/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/ApiComponentGeneratorMojo.java b/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/ApiComponentGeneratorMojo.java
index cf22d3f..1946aeb 100644
--- a/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/ApiComponentGeneratorMojo.java
+++ b/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/ApiComponentGeneratorMojo.java
@@ -149,6 +149,7 @@ public class ApiComponentGeneratorMojo extends AbstractApiMethodBaseMojo {
 
         // set AbstractAPIMethodGeneratorMojo properties
         mojo.proxyClass = apiProxy.getProxyClass();
+        mojo.classPrefix = apiProxy.getClassPrefix();
     }
 
     private AbstractApiMethodGeneratorMojo getApiMethodGenerator(ApiProxy api) {
@@ -220,14 +221,16 @@ public class ApiComponentGeneratorMojo extends AbstractApiMethodBaseMojo {
         return fileName;
     }
 
-    public static String getApiMethod(String proxyClass) {
-        String proxyClassWithCanonicalName = getProxyClassWithCanonicalName(proxyClass);        
-        return proxyClassWithCanonicalName.substring(proxyClassWithCanonicalName.lastIndexOf('.') + 1) + "ApiMethod";
+    public static String getApiMethod(String proxyClass, String classPrefix) {
+        String proxyClassWithCanonicalName = getProxyClassWithCanonicalName(proxyClass);
+        String prefix = classPrefix != null ? classPrefix : "";
+        return prefix + proxyClassWithCanonicalName.substring(proxyClassWithCanonicalName.lastIndexOf('.') + 1) + "ApiMethod";
     }
 
-    public static String getEndpointConfig(String proxyClass) {
+    public static String getEndpointConfig(String proxyClass, String classPrefix) {
         String proxyClassWithCanonicalName = getProxyClassWithCanonicalName(proxyClass);
-        return proxyClassWithCanonicalName.substring(proxyClassWithCanonicalName.lastIndexOf('.') + 1) + "EndpointConfiguration";
+        String prefix = classPrefix != null ? classPrefix : "";
+        return prefix + proxyClassWithCanonicalName.substring(proxyClassWithCanonicalName.lastIndexOf('.') + 1) + "EndpointConfiguration";
     }
 
     private static String getProxyClassWithCanonicalName(String proxyClass) {
diff --git a/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/ApiProxy.java b/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/ApiProxy.java
index ce6901c..ad8038d 100644
--- a/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/ApiProxy.java
+++ b/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/ApiProxy.java
@@ -45,6 +45,8 @@ public class ApiProxy {
 
     private String[] nullableOptions;
 
+    private String classPrefix;
+
     private List<ApiMethodAlias> aliases = Collections.emptyList();
 
     public String getApiName() {
@@ -127,6 +129,14 @@ public class ApiProxy {
         this.aliases = aliases;
     }
 
+    public String getClassPrefix() {
+        return classPrefix;
+    }
+
+    public void setClassPrefix(String classPrefix) {
+        this.classPrefix = classPrefix;
+    }
+
     public void validate() throws MojoExecutionException {
         if (apiName == null || proxyClass == null) {
             throw new MojoExecutionException("Properties apiName and proxyClass are required");
diff --git a/tooling/maven/camel-api-component-maven-plugin/src/main/resources/api-collection.vm b/tooling/maven/camel-api-component-maven-plugin/src/main/resources/api-collection.vm
index 8efc2f6..eee56c5 100644
--- a/tooling/maven/camel-api-component-maven-plugin/src/main/resources/api-collection.vm
+++ b/tooling/maven/camel-api-component-maven-plugin/src/main/resources/api-collection.vm
@@ -45,7 +45,7 @@ import java.util.HashMap;
 #set( $componentConfig = "${componentName}Configuration" )
 import ${componentPackage}.${componentConfig};
 #foreach ( $api in $apis )
-import ${componentPackage}.${helper.getEndpointConfig($api.ProxyClass)};
+import ${componentPackage}.${helper.getEndpointConfig($api.ProxyClass, $api.ClassPrefix)};
 #end
 
 import org.apache.camel.support.component.ApiCollection;
@@ -71,7 +71,7 @@ public final class $collectionName extends ApiCollection<${apiNameEnum}, ${compo
 #foreach( $alias in $api.Aliases )
         aliases.put("$alias.MethodPattern", "$alias.MethodAlias");
 #end
-#set( $apiMethod = ${helper.getApiMethod($api.ProxyClass)} )
+#set( $apiMethod = ${helper.getApiMethod($api.ProxyClass, $api.ClassPrefix)} )
 #set( $apiName = "${apiNameEnum}.${helper.getEnumConstant($api.ApiName)}" )
         nullableArgs = Arrays.asList(${helper.getNullableOptionValues($api.NullableOptions)});
         apiHelpers.put($apiName, new ApiMethodHelper<$apiMethod>(${apiMethod}.class, aliases, nullableArgs));
@@ -85,9 +85,8 @@ public final class $collectionName extends ApiCollection<${apiNameEnum}, ${compo
     public $componentConfig getEndpointConfiguration(${apiNameEnum} apiName) {
         $componentConfig result = null;
         switch (apiName) {
-#foreach( $api in $apis )
             case ${helper.getEnumConstant($api.ApiName)}:
-                result = new ${helper.getEndpointConfig($api.ProxyClass)}();
+                result = new ${helper.getEndpointConfig($api.ProxyClass, $api.ClassPrefix)}();
                 break;
 #end
         }