This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch CAMEL-15224 in repository https://gitbox.apache.org/repos/asf/camel.git
commit e7d29df0869d78aa749c4ee21ce584a0c05b47d3 Author: Claus Ibsen <claus.ib...@gmail.com> AuthorDate: Mon Jun 22 13:10:14 2020 +0200 CAMEL-15224: camel-api-component - Avoid reflection when configured nested configuration classes. --- .../camel-olingo2/camel-olingo2-component/pom.xml | 58 +-------- .../olingo2/Olingo2AppEndpointConfiguration.java | 94 ++++++++++++++ .../Olingo2AppEndpointConfigurationConfigurer.java | 140 +++++++++++++++++++++ .../olingo2/Olingo2ConfigurationConfigurer.java | 105 ++++++++++++++++ .../olingo2/internal/Olingo2ApiCollection.java | 59 +++++++++ .../component/olingo2/internal/Olingo2ApiName.java | 38 ++++++ .../olingo2/internal/Olingo2AppApiMethod.java | 114 +++++++++++++++++ .../configurer/Olingo2AppEndpointConfiguration | 2 + .../apache/camel/configurer/Olingo2Configuration | 2 + .../component/olingo2/Olingo2Configuration.java | 2 + 10 files changed, 562 insertions(+), 52 deletions(-) diff --git a/components/camel-olingo2/camel-olingo2-component/pom.xml b/components/camel-olingo2/camel-olingo2-component/pom.xml index 3bbb483..359a740 100644 --- a/components/camel-olingo2/camel-olingo2-component/pom.xml +++ b/components/camel-olingo2/camel-olingo2-component/pom.xml @@ -179,50 +179,20 @@ </execution> </executions> </plugin> - - <!-- add generated source and test source to build --> <plugin> - <groupId>org.codehaus.mojo</groupId> - <artifactId>build-helper-maven-plugin</artifactId> + <!-- we need to generate additional configurer classes --> + <groupId>org.apache.camel</groupId> + <artifactId>camel-package-maven-plugin</artifactId> <executions> <execution> - <id>add-generated-sources</id> - <goals> - <goal>add-source</goal> - </goals> - <configuration> - <sources> - <source>${project.build.directory}/generated-sources/camel-component</source> - </sources> - </configuration> - </execution> - <execution> - <id>add-generated-test-sources</id> - <goals> - <goal>add-test-source</goal> - </goals> - <configuration> - <sources> - <source>${project.build.directory}/generated-test-sources/camel-component</source> - </sources> - </configuration> - </execution> - <!-- add the olingo odata2 sample service source. See profile get-olingo2-sample below --> - <execution> - <id>add-test-source</id> - <phase>generate-test-sources</phase> + <id>generate-configurer</id> + <phase>process-classes</phase> <goals> - <goal>add-test-source</goal> + <goal>generate-configurer</goal> </goals> - <configuration> - <sources> - <source>${basedir}/target/olingo2-my-car-service/src/main/java</source> - </sources> - </configuration> </execution> </executions> </plugin> - </plugins> <pluginManagement> @@ -243,22 +213,6 @@ </build> - <reporting> - <plugins> - <plugin> - <groupId>org.apache.camel</groupId> - <artifactId>camel-api-component-maven-plugin</artifactId> - <version>${project.version}</version> - <configuration> - <scheme>${schemeName}</scheme> - <componentName>${componentName}</componentName> - <componentPackage>${componentPackage}</componentPackage> - <outPackage>${outPackage}</outPackage> - </configuration> - </plugin> - </plugins> - </reporting> - <profiles> <profile> <id>Windows</id> diff --git a/components/camel-olingo2/camel-olingo2-component/src/generated/java/org/apache/camel/component/olingo2/Olingo2AppEndpointConfiguration.java b/components/camel-olingo2/camel-olingo2-component/src/generated/java/org/apache/camel/component/olingo2/Olingo2AppEndpointConfiguration.java new file mode 100644 index 0000000..bbff8d4 --- /dev/null +++ b/components/camel-olingo2/camel-olingo2-component/src/generated/java/org/apache/camel/component/olingo2/Olingo2AppEndpointConfiguration.java @@ -0,0 +1,94 @@ + +/* + * Camel EndpointConfiguration generated by camel-api-component-maven-plugin + */ +package org.apache.camel.component.olingo2; + +import org.apache.camel.spi.Configurer; +import org.apache.camel.spi.UriParam; +import org.apache.camel.spi.UriParams; + +/** + * Camel EndpointConfiguration for org.apache.camel.component.olingo2.api.Olingo2App + */ +@UriParams +@Configurer +public final class Olingo2AppEndpointConfiguration extends Olingo2Configuration { + + @UriParam + private Object data; + + @UriParam + private org.apache.olingo.odata2.api.edm.Edm edm; + + @UriParam + private java.util.Map<String,String> endpointHttpHeaders; + + @UriParam + private String keyPredicate; + + @UriParam + private java.util.Map<String,String> queryParams; + + @UriParam + private String resourcePath; + + @UriParam + private org.apache.camel.component.olingo2.api.Olingo2ResponseHandler responseHandler; + + public Object getData() { + return data; + } + + public void setData(Object data) { + this.data = data; + } + + public org.apache.olingo.odata2.api.edm.Edm getEdm() { + return edm; + } + + public void setEdm(org.apache.olingo.odata2.api.edm.Edm edm) { + this.edm = edm; + } + + public java.util.Map<String,String> getEndpointHttpHeaders() { + return endpointHttpHeaders; + } + + public void setEndpointHttpHeaders(java.util.Map<String,String> endpointHttpHeaders) { + this.endpointHttpHeaders = endpointHttpHeaders; + } + + public String getKeyPredicate() { + return keyPredicate; + } + + public void setKeyPredicate(String keyPredicate) { + this.keyPredicate = keyPredicate; + } + + public java.util.Map<String,String> getQueryParams() { + return queryParams; + } + + public void setQueryParams(java.util.Map<String,String> queryParams) { + this.queryParams = queryParams; + } + + public String getResourcePath() { + return resourcePath; + } + + public void setResourcePath(String resourcePath) { + this.resourcePath = resourcePath; + } + + public org.apache.camel.component.olingo2.api.Olingo2ResponseHandler getResponseHandler() { + return responseHandler; + } + + public void setResponseHandler(org.apache.camel.component.olingo2.api.Olingo2ResponseHandler responseHandler) { + this.responseHandler = responseHandler; + } +} diff --git a/components/camel-olingo2/camel-olingo2-component/src/generated/java/org/apache/camel/component/olingo2/Olingo2AppEndpointConfigurationConfigurer.java b/components/camel-olingo2/camel-olingo2-component/src/generated/java/org/apache/camel/component/olingo2/Olingo2AppEndpointConfigurationConfigurer.java new file mode 100644 index 0000000..9b4fb1c --- /dev/null +++ b/components/camel-olingo2/camel-olingo2-component/src/generated/java/org/apache/camel/component/olingo2/Olingo2AppEndpointConfigurationConfigurer.java @@ -0,0 +1,140 @@ +/* Generated by camel build tools - do NOT edit this file! */ +package org.apache.camel.component.olingo2; + +import java.util.Map; + +import org.apache.camel.CamelContext; +import org.apache.camel.spi.GeneratedPropertyConfigurer; +import org.apache.camel.spi.PropertyConfigurerGetter; +import org.apache.camel.util.CaseInsensitiveMap; +import org.apache.camel.component.olingo2.Olingo2AppEndpointConfiguration; + +/** + * Generated by camel build tools - do NOT edit this file! + */ +@SuppressWarnings("unchecked") +public class Olingo2AppEndpointConfigurationConfigurer extends org.apache.camel.support.component.PropertyConfigurerSupport implements GeneratedPropertyConfigurer, PropertyConfigurerGetter { + + @Override + public boolean configure(CamelContext camelContext, Object obj, String name, Object value, boolean ignoreCase) { + org.apache.camel.component.olingo2.Olingo2AppEndpointConfiguration target = (org.apache.camel.component.olingo2.Olingo2AppEndpointConfiguration) obj; + switch (ignoreCase ? name.toLowerCase() : name) { + case "apiname": + case "ApiName": target.setApiName(property(camelContext, org.apache.camel.component.olingo2.internal.Olingo2ApiName.class, value)); return true; + case "connecttimeout": + case "ConnectTimeout": target.setConnectTimeout(property(camelContext, int.class, value)); return true; + case "contenttype": + case "ContentType": target.setContentType(property(camelContext, java.lang.String.class, value)); return true; + case "data": + case "Data": target.setData(property(camelContext, java.lang.Object.class, value)); return true; + case "edm": + case "Edm": target.setEdm(property(camelContext, org.apache.olingo.odata2.api.edm.Edm.class, value)); return true; + case "endpointhttpheaders": + case "EndpointHttpHeaders": target.setEndpointHttpHeaders(property(camelContext, java.util.Map.class, value)); return true; + case "filteralreadyseen": + case "FilterAlreadySeen": target.setFilterAlreadySeen(property(camelContext, boolean.class, value)); return true; + case "httpasyncclientbuilder": + case "HttpAsyncClientBuilder": target.setHttpAsyncClientBuilder(property(camelContext, org.apache.http.impl.nio.client.HttpAsyncClientBuilder.class, value)); return true; + case "httpclientbuilder": + case "HttpClientBuilder": target.setHttpClientBuilder(property(camelContext, org.apache.http.impl.client.HttpClientBuilder.class, value)); return true; + case "httpheaders": + case "HttpHeaders": target.setHttpHeaders(property(camelContext, java.util.Map.class, value)); return true; + case "keypredicate": + case "KeyPredicate": target.setKeyPredicate(property(camelContext, java.lang.String.class, value)); return true; + case "methodname": + case "MethodName": target.setMethodName(property(camelContext, java.lang.String.class, value)); return true; + case "proxy": + case "Proxy": target.setProxy(property(camelContext, org.apache.http.HttpHost.class, value)); return true; + case "queryparams": + case "QueryParams": target.setQueryParams(property(camelContext, java.util.Map.class, value)); return true; + case "resourcepath": + case "ResourcePath": target.setResourcePath(property(camelContext, java.lang.String.class, value)); return true; + case "responsehandler": + case "ResponseHandler": target.setResponseHandler(property(camelContext, org.apache.camel.component.olingo2.api.Olingo2ResponseHandler.class, value)); return true; + case "serviceuri": + case "ServiceUri": target.setServiceUri(property(camelContext, java.lang.String.class, value)); return true; + case "sockettimeout": + case "SocketTimeout": target.setSocketTimeout(property(camelContext, int.class, value)); return true; + case "splitresult": + case "SplitResult": target.setSplitResult(property(camelContext, boolean.class, value)); return true; + case "sslcontextparameters": + case "SslContextParameters": target.setSslContextParameters(property(camelContext, org.apache.camel.support.jsse.SSLContextParameters.class, value)); return true; + default: return false; + } + } + + @Override + public Map<String, Object> getAllOptions(Object target) { + Map<String, Object> answer = new CaseInsensitiveMap(); + answer.put("ApiName", org.apache.camel.component.olingo2.internal.Olingo2ApiName.class); + answer.put("ConnectTimeout", int.class); + answer.put("ContentType", java.lang.String.class); + answer.put("Data", java.lang.Object.class); + answer.put("Edm", org.apache.olingo.odata2.api.edm.Edm.class); + answer.put("EndpointHttpHeaders", java.util.Map.class); + answer.put("FilterAlreadySeen", boolean.class); + answer.put("HttpAsyncClientBuilder", org.apache.http.impl.nio.client.HttpAsyncClientBuilder.class); + answer.put("HttpClientBuilder", org.apache.http.impl.client.HttpClientBuilder.class); + answer.put("HttpHeaders", java.util.Map.class); + answer.put("KeyPredicate", java.lang.String.class); + answer.put("MethodName", java.lang.String.class); + answer.put("Proxy", org.apache.http.HttpHost.class); + answer.put("QueryParams", java.util.Map.class); + answer.put("ResourcePath", java.lang.String.class); + answer.put("ResponseHandler", org.apache.camel.component.olingo2.api.Olingo2ResponseHandler.class); + answer.put("ServiceUri", java.lang.String.class); + answer.put("SocketTimeout", int.class); + answer.put("SplitResult", boolean.class); + answer.put("SslContextParameters", org.apache.camel.support.jsse.SSLContextParameters.class); + return answer; + } + + @Override + public Object getOptionValue(Object obj, String name, boolean ignoreCase) { + org.apache.camel.component.olingo2.Olingo2AppEndpointConfiguration target = (org.apache.camel.component.olingo2.Olingo2AppEndpointConfiguration) obj; + switch (ignoreCase ? name.toLowerCase() : name) { + case "apiname": + case "ApiName": return target.getApiName(); + case "connecttimeout": + case "ConnectTimeout": return target.getConnectTimeout(); + case "contenttype": + case "ContentType": return target.getContentType(); + case "data": + case "Data": return target.getData(); + case "edm": + case "Edm": return target.getEdm(); + case "endpointhttpheaders": + case "EndpointHttpHeaders": return target.getEndpointHttpHeaders(); + case "filteralreadyseen": + case "FilterAlreadySeen": return target.isFilterAlreadySeen(); + case "httpasyncclientbuilder": + case "HttpAsyncClientBuilder": return target.getHttpAsyncClientBuilder(); + case "httpclientbuilder": + case "HttpClientBuilder": return target.getHttpClientBuilder(); + case "httpheaders": + case "HttpHeaders": return target.getHttpHeaders(); + case "keypredicate": + case "KeyPredicate": return target.getKeyPredicate(); + case "methodname": + case "MethodName": return target.getMethodName(); + case "proxy": + case "Proxy": return target.getProxy(); + case "queryparams": + case "QueryParams": return target.getQueryParams(); + case "resourcepath": + case "ResourcePath": return target.getResourcePath(); + case "responsehandler": + case "ResponseHandler": return target.getResponseHandler(); + case "serviceuri": + case "ServiceUri": return target.getServiceUri(); + case "sockettimeout": + case "SocketTimeout": return target.getSocketTimeout(); + case "splitresult": + case "SplitResult": return target.isSplitResult(); + case "sslcontextparameters": + case "SslContextParameters": return target.getSslContextParameters(); + default: return null; + } + } +} + diff --git a/components/camel-olingo2/camel-olingo2-component/src/generated/java/org/apache/camel/component/olingo2/Olingo2ConfigurationConfigurer.java b/components/camel-olingo2/camel-olingo2-component/src/generated/java/org/apache/camel/component/olingo2/Olingo2ConfigurationConfigurer.java new file mode 100644 index 0000000..7723701 --- /dev/null +++ b/components/camel-olingo2/camel-olingo2-component/src/generated/java/org/apache/camel/component/olingo2/Olingo2ConfigurationConfigurer.java @@ -0,0 +1,105 @@ +/* Generated by camel build tools - do NOT edit this file! */ +package org.apache.camel.component.olingo2; + +import java.util.Map; + +import org.apache.camel.CamelContext; +import org.apache.camel.spi.GeneratedPropertyConfigurer; +import org.apache.camel.spi.PropertyConfigurerGetter; +import org.apache.camel.util.CaseInsensitiveMap; +import org.apache.camel.component.olingo2.Olingo2Configuration; + +/** + * Generated by camel build tools - do NOT edit this file! + */ +@SuppressWarnings("unchecked") +public class Olingo2ConfigurationConfigurer extends org.apache.camel.support.component.PropertyConfigurerSupport implements GeneratedPropertyConfigurer, PropertyConfigurerGetter { + + @Override + public boolean configure(CamelContext camelContext, Object obj, String name, Object value, boolean ignoreCase) { + org.apache.camel.component.olingo2.Olingo2Configuration target = (org.apache.camel.component.olingo2.Olingo2Configuration) obj; + switch (ignoreCase ? name.toLowerCase() : name) { + case "apiname": + case "ApiName": target.setApiName(property(camelContext, org.apache.camel.component.olingo2.internal.Olingo2ApiName.class, value)); return true; + case "connecttimeout": + case "ConnectTimeout": target.setConnectTimeout(property(camelContext, int.class, value)); return true; + case "contenttype": + case "ContentType": target.setContentType(property(camelContext, java.lang.String.class, value)); return true; + case "filteralreadyseen": + case "FilterAlreadySeen": target.setFilterAlreadySeen(property(camelContext, boolean.class, value)); return true; + case "httpasyncclientbuilder": + case "HttpAsyncClientBuilder": target.setHttpAsyncClientBuilder(property(camelContext, org.apache.http.impl.nio.client.HttpAsyncClientBuilder.class, value)); return true; + case "httpclientbuilder": + case "HttpClientBuilder": target.setHttpClientBuilder(property(camelContext, org.apache.http.impl.client.HttpClientBuilder.class, value)); return true; + case "httpheaders": + case "HttpHeaders": target.setHttpHeaders(property(camelContext, java.util.Map.class, value)); return true; + case "methodname": + case "MethodName": target.setMethodName(property(camelContext, java.lang.String.class, value)); return true; + case "proxy": + case "Proxy": target.setProxy(property(camelContext, org.apache.http.HttpHost.class, value)); return true; + case "serviceuri": + case "ServiceUri": target.setServiceUri(property(camelContext, java.lang.String.class, value)); return true; + case "sockettimeout": + case "SocketTimeout": target.setSocketTimeout(property(camelContext, int.class, value)); return true; + case "splitresult": + case "SplitResult": target.setSplitResult(property(camelContext, boolean.class, value)); return true; + case "sslcontextparameters": + case "SslContextParameters": target.setSslContextParameters(property(camelContext, org.apache.camel.support.jsse.SSLContextParameters.class, value)); return true; + default: return false; + } + } + + @Override + public Map<String, Object> getAllOptions(Object target) { + Map<String, Object> answer = new CaseInsensitiveMap(); + answer.put("ApiName", org.apache.camel.component.olingo2.internal.Olingo2ApiName.class); + answer.put("ConnectTimeout", int.class); + answer.put("ContentType", java.lang.String.class); + answer.put("FilterAlreadySeen", boolean.class); + answer.put("HttpAsyncClientBuilder", org.apache.http.impl.nio.client.HttpAsyncClientBuilder.class); + answer.put("HttpClientBuilder", org.apache.http.impl.client.HttpClientBuilder.class); + answer.put("HttpHeaders", java.util.Map.class); + answer.put("MethodName", java.lang.String.class); + answer.put("Proxy", org.apache.http.HttpHost.class); + answer.put("ServiceUri", java.lang.String.class); + answer.put("SocketTimeout", int.class); + answer.put("SplitResult", boolean.class); + answer.put("SslContextParameters", org.apache.camel.support.jsse.SSLContextParameters.class); + return answer; + } + + @Override + public Object getOptionValue(Object obj, String name, boolean ignoreCase) { + org.apache.camel.component.olingo2.Olingo2Configuration target = (org.apache.camel.component.olingo2.Olingo2Configuration) obj; + switch (ignoreCase ? name.toLowerCase() : name) { + case "apiname": + case "ApiName": return target.getApiName(); + case "connecttimeout": + case "ConnectTimeout": return target.getConnectTimeout(); + case "contenttype": + case "ContentType": return target.getContentType(); + case "filteralreadyseen": + case "FilterAlreadySeen": return target.isFilterAlreadySeen(); + case "httpasyncclientbuilder": + case "HttpAsyncClientBuilder": return target.getHttpAsyncClientBuilder(); + case "httpclientbuilder": + case "HttpClientBuilder": return target.getHttpClientBuilder(); + case "httpheaders": + case "HttpHeaders": return target.getHttpHeaders(); + case "methodname": + case "MethodName": return target.getMethodName(); + case "proxy": + case "Proxy": return target.getProxy(); + case "serviceuri": + case "ServiceUri": return target.getServiceUri(); + case "sockettimeout": + case "SocketTimeout": return target.getSocketTimeout(); + case "splitresult": + case "SplitResult": return target.isSplitResult(); + case "sslcontextparameters": + case "SslContextParameters": return target.getSslContextParameters(); + default: return null; + } + } +} + diff --git a/components/camel-olingo2/camel-olingo2-component/src/generated/java/org/apache/camel/component/olingo2/internal/Olingo2ApiCollection.java b/components/camel-olingo2/camel-olingo2-component/src/generated/java/org/apache/camel/component/olingo2/internal/Olingo2ApiCollection.java new file mode 100644 index 0000000..4e1f23b --- /dev/null +++ b/components/camel-olingo2/camel-olingo2-component/src/generated/java/org/apache/camel/component/olingo2/internal/Olingo2ApiCollection.java @@ -0,0 +1,59 @@ + +/* + * Camel ApiCollection generated by camel-api-component-maven-plugin + */ +package org.apache.camel.component.olingo2.internal; + +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.HashMap; + +import org.apache.camel.component.olingo2.Olingo2Configuration; +import org.apache.camel.component.olingo2.Olingo2AppEndpointConfiguration; + +import org.apache.camel.support.component.ApiCollection; +import org.apache.camel.support.component.ApiMethod; +import org.apache.camel.support.component.ApiMethodHelper; + +/** + * Camel {@link ApiCollection} for Olingo2 + */ +public final class Olingo2ApiCollection extends ApiCollection<Olingo2ApiName, Olingo2Configuration> { + + private static Olingo2ApiCollection collection; + + private Olingo2ApiCollection() { + final Map<String, String> aliases = new HashMap<String, String>(); + final Map<Olingo2ApiName, ApiMethodHelper<? extends ApiMethod>> apiHelpers = new HashMap<>(); + final Map<Class<? extends ApiMethod>, Olingo2ApiName> apiMethods = new HashMap<>(); + + List<String> nullableArgs; + + aliases.clear(); + nullableArgs = Arrays.asList("queryParams", "endpointHttpHeaders", "edm", "responseHandler"); + apiHelpers.put(Olingo2ApiName.DEFAULT, new ApiMethodHelper<Olingo2AppApiMethod>(Olingo2AppApiMethod.class, aliases, nullableArgs)); + apiMethods.put(Olingo2AppApiMethod.class, Olingo2ApiName.DEFAULT); + + setApiHelpers(apiHelpers); + setApiMethods(apiMethods); + } + + public Olingo2Configuration getEndpointConfiguration(Olingo2ApiName apiName) { + Olingo2Configuration result = null; + switch (apiName) { + case DEFAULT: + result = new Olingo2AppEndpointConfiguration(); + break; + } + return result; + } + + public static synchronized Olingo2ApiCollection getCollection() { + if (collection == null) { + collection = new Olingo2ApiCollection(); + } + return collection; + } +} diff --git a/components/camel-olingo2/camel-olingo2-component/src/generated/java/org/apache/camel/component/olingo2/internal/Olingo2ApiName.java b/components/camel-olingo2/camel-olingo2-component/src/generated/java/org/apache/camel/component/olingo2/internal/Olingo2ApiName.java new file mode 100644 index 0000000..05e45de --- /dev/null +++ b/components/camel-olingo2/camel-olingo2-component/src/generated/java/org/apache/camel/component/olingo2/internal/Olingo2ApiName.java @@ -0,0 +1,38 @@ + +/* + * Camel ApiName Enumeration generated by camel-api-component-maven-plugin + */ +package org.apache.camel.component.olingo2.internal; + +import org.apache.camel.support.component.ApiName; + +/** + * Camel {@link ApiName} Enumeration for Component Olingo2 + */ +public enum Olingo2ApiName implements ApiName { + + DEFAULT(""); + + + private static final Olingo2ApiName[] VALUES = values(); + + private final String name; + + private Olingo2ApiName(String name) { + this.name = name; + } + + @Override + public String getName() { + return name; + } + + public static Olingo2ApiName fromValue(String value) throws IllegalArgumentException { + for (int i = 0; i < VALUES.length; i++) { + if (VALUES[i].name.equals(value)) { + return VALUES[i]; + } + } + throw new IllegalArgumentException("Invalid value " + value); + } +} diff --git a/components/camel-olingo2/camel-olingo2-component/src/generated/java/org/apache/camel/component/olingo2/internal/Olingo2AppApiMethod.java b/components/camel-olingo2/camel-olingo2-component/src/generated/java/org/apache/camel/component/olingo2/internal/Olingo2AppApiMethod.java new file mode 100644 index 0000000..852f3b8 --- /dev/null +++ b/components/camel-olingo2/camel-olingo2-component/src/generated/java/org/apache/camel/component/olingo2/internal/Olingo2AppApiMethod.java @@ -0,0 +1,114 @@ + +/* + * Camel ApiMethod Enumeration generated by camel-api-component-maven-plugin + */ +package org.apache.camel.component.olingo2.internal; + +import java.lang.reflect.Method; +import java.util.List; + +import org.apache.camel.component.olingo2.api.Olingo2App; + +import org.apache.camel.support.component.ApiMethod; +import org.apache.camel.support.component.ApiMethodArg; +import org.apache.camel.support.component.ApiMethodImpl; + +import static org.apache.camel.support.component.ApiMethodArg.arg; + +/** + * Camel {@link ApiMethod} Enumeration for org.apache.camel.component.olingo2.api.Olingo2App + */ +public enum Olingo2AppApiMethod implements ApiMethod { + + BATCH( + void.class, + "batch", + arg("edm", org.apache.olingo.odata2.api.edm.Edm.class), + arg("endpointHttpHeaders", java.util.Map.class), + arg("data", Object.class), + arg("responseHandler", org.apache.camel.component.olingo2.api.Olingo2ResponseHandler.class)), + + CREATE( + void.class, + "create", + arg("edm", org.apache.olingo.odata2.api.edm.Edm.class), + arg("resourcePath", String.class), + arg("endpointHttpHeaders", java.util.Map.class), + arg("data", Object.class), + arg("responseHandler", org.apache.camel.component.olingo2.api.Olingo2ResponseHandler.class)), + + DELETE( + void.class, + "delete", + arg("resourcePath", String.class), + arg("endpointHttpHeaders", java.util.Map.class), + arg("responseHandler", org.apache.camel.component.olingo2.api.Olingo2ResponseHandler.class)), + + MERGE( + void.class, + "merge", + arg("edm", org.apache.olingo.odata2.api.edm.Edm.class), + arg("resourcePath", String.class), + arg("endpointHttpHeaders", java.util.Map.class), + arg("data", Object.class), + arg("responseHandler", org.apache.camel.component.olingo2.api.Olingo2ResponseHandler.class)), + + PATCH( + void.class, + "patch", + arg("edm", org.apache.olingo.odata2.api.edm.Edm.class), + arg("resourcePath", String.class), + arg("endpointHttpHeaders", java.util.Map.class), + arg("data", Object.class), + arg("responseHandler", org.apache.camel.component.olingo2.api.Olingo2ResponseHandler.class)), + + READ( + void.class, + "read", + arg("edm", org.apache.olingo.odata2.api.edm.Edm.class), + arg("resourcePath", String.class), + arg("queryParams", java.util.Map.class), + arg("endpointHttpHeaders", java.util.Map.class), + arg("responseHandler", org.apache.camel.component.olingo2.api.Olingo2ResponseHandler.class)), + + UPDATE( + void.class, + "update", + arg("edm", org.apache.olingo.odata2.api.edm.Edm.class), + arg("resourcePath", String.class), + arg("endpointHttpHeaders", java.util.Map.class), + arg("data", Object.class), + arg("responseHandler", org.apache.camel.component.olingo2.api.Olingo2ResponseHandler.class)), + + UREAD( + void.class, + "uread", + arg("edm", org.apache.olingo.odata2.api.edm.Edm.class), + arg("resourcePath", String.class), + arg("queryParams", java.util.Map.class), + arg("endpointHttpHeaders", java.util.Map.class), + arg("responseHandler", org.apache.camel.component.olingo2.api.Olingo2ResponseHandler.class)); + + + + private final ApiMethod apiMethod; + + private Olingo2AppApiMethod(Class<?> resultType, String name, ApiMethodArg... args) { + this.apiMethod = new ApiMethodImpl(Olingo2App.class, resultType, name, args); + } + + @Override + public String getName() { return apiMethod.getName(); } + + @Override + public Class<?> getResultType() { return apiMethod.getResultType(); } + + @Override + public List<String> getArgNames() { return apiMethod.getArgNames(); } + + @Override + public List<Class<?>> getArgTypes() { return apiMethod.getArgTypes(); } + + @Override + public Method getMethod() { return apiMethod.getMethod(); } +} diff --git a/components/camel-olingo2/camel-olingo2-component/src/generated/resources/META-INF/services/org/apache/camel/configurer/Olingo2AppEndpointConfiguration b/components/camel-olingo2/camel-olingo2-component/src/generated/resources/META-INF/services/org/apache/camel/configurer/Olingo2AppEndpointConfiguration new file mode 100644 index 0000000..bebda6a --- /dev/null +++ b/components/camel-olingo2/camel-olingo2-component/src/generated/resources/META-INF/services/org/apache/camel/configurer/Olingo2AppEndpointConfiguration @@ -0,0 +1,2 @@ +# Generated by camel build tools - do NOT edit this file! +class=org.apache.camel.component.olingo2.Olingo2AppEndpointConfigurationConfigurer diff --git a/components/camel-olingo2/camel-olingo2-component/src/generated/resources/META-INF/services/org/apache/camel/configurer/Olingo2Configuration b/components/camel-olingo2/camel-olingo2-component/src/generated/resources/META-INF/services/org/apache/camel/configurer/Olingo2Configuration new file mode 100644 index 0000000..6e2486b --- /dev/null +++ b/components/camel-olingo2/camel-olingo2-component/src/generated/resources/META-INF/services/org/apache/camel/configurer/Olingo2Configuration @@ -0,0 +1,2 @@ +# Generated by camel build tools - do NOT edit this file! +class=org.apache.camel.component.olingo2.Olingo2ConfigurationConfigurer diff --git a/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Configuration.java b/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Configuration.java index 15940a3..cdfca77 100644 --- a/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Configuration.java +++ b/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Configuration.java @@ -19,6 +19,7 @@ package org.apache.camel.component.olingo2; import java.util.Map; import org.apache.camel.component.olingo2.internal.Olingo2ApiName; +import org.apache.camel.spi.Configurer; import org.apache.camel.spi.Metadata; import org.apache.camel.spi.UriParam; import org.apache.camel.spi.UriParams; @@ -34,6 +35,7 @@ import org.apache.http.impl.nio.client.HttpAsyncClientBuilder; * Component configuration for Olingo2 component. */ @UriParams +@Configurer public class Olingo2Configuration { private static final String DEFAULT_CONTENT_TYPE = ContentType.APPLICATION_JSON.toString();