This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch tc-loader
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/tc-loader by this push:
new 649ab14 CAMEL-13313: Add support for generating type converter loader
source code to be able to load component type converters in a faster way
649ab14 is described below
commit 649ab1410d789ab8600f38a9509a05499712bb06
Author: Claus Ibsen <[email protected]>
AuthorDate: Fri Mar 15 11:36:12 2019 +0100
CAMEL-13313: Add support for generating type converter loader source code
to be able to load component type converters in a faster way
---
MIGRATION.md | 5 +++++
.../camel/component/cxf/converter/CxfConverter.java | 3 +--
.../component/cxf/converter/CxfPayloadConverter.java | 3 +--
.../camel/component/file/GenericFileConverter.java | 3 +--
.../jackson/converter/JacksonTypeConverters.java | 5 ++---
.../jacksonxml/converter/JacksonXMLTypeConverters.java | 3 +--
.../camel/component/jclouds/JcloudsPayloadConverter.java | 5 ++---
.../org/apache/camel/component/jetty/JettyConverter.java | 3 +--
.../org/apache/camel/component/mail/MailConverters.java | 3 +--
.../mongodb3/converters/MongoDbFallbackConverter.java | 3 +--
.../camel/component/netty4/http/NettyHttpConverter.java | 5 ++---
.../reactive/streams/ReactiveStreamsConverter.java | 3 +--
.../org/apache/camel/converter/saxon/SaxonConverter.java | 3 +--
.../apache/camel/component/sparkrest/SparkConverter.java | 5 ++---
.../main/java/org/apache/camel/FallbackConverter.java | 1 +
.../impl/converter/AnnotationTypeConverterLoader.java | 16 +++++++---------
.../camel/core/osgi/other/MyOtherTypeConverter.java | 3 +--
.../org/apache/camel/core/osgi/test/MyTypeConverter.java | 3 +--
.../org/apache/camel/component/bean/BeanConverter.java | 2 --
.../myconverter/InstanceDummyFallbackConverter.java | 3 +--
.../myconverter/MyFallbackPromoteConverter.java | 3 +--
.../myconverter/StaticDummyFallbackConverter.java | 3 +--
22 files changed, 35 insertions(+), 51 deletions(-)
diff --git a/MIGRATION.md b/MIGRATION.md
index 87f017d..686c7a9 100644
--- a/MIGRATION.md
+++ b/MIGRATION.md
@@ -297,6 +297,11 @@ The class `XsltAggregationStrategy` has been moved from
`org.apache.camel.builde
When using the option `groupedExchange` on the aggregator EIP then the output
of the aggregation is now longer also stored in the exchange property
`Exchange.GROUPED_EXCHANGE`. This behaviour was already deprecated from Camel
2.13 onwards.
+### Fallback type converters
+
+The `@FallbackConverter` annotation has been removed, and you should use
`@Converter(fallback = true)` instead. Also you can set `@Converter(loader =
true)` on the converter class to allow Camel to generate source code for
loading type converters in a faster way.
+
+
### Other changes
The default for use breadcrumbs has been changed from `true` to `false`.
diff --git
a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/converter/CxfConverter.java
b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/converter/CxfConverter.java
index 653f407..6e094ff 100644
---
a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/converter/CxfConverter.java
+++
b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/converter/CxfConverter.java
@@ -28,7 +28,6 @@ import javax.xml.soap.SOAPMessage;
import org.apache.camel.Converter;
import org.apache.camel.Exchange;
-import org.apache.camel.FallbackConverter;
import org.apache.camel.TypeConverter;
import org.apache.camel.component.cxf.DataFormat;
import org.apache.camel.converter.stream.CachedOutputStream;
@@ -135,7 +134,7 @@ public final class CxfConverter {
* @return the converted value of the desired type or null if no suitable
converter found
*/
@SuppressWarnings("unchecked")
- @FallbackConverter
+ @Converter(fallback = true)
public static <T> T convertTo(Class<T> type, Exchange exchange, Object
value,
TypeConverterRegistry registry) {
diff --git
a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/converter/CxfPayloadConverter.java
b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/converter/CxfPayloadConverter.java
index ea26664..7d8bcdf 100644
---
a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/converter/CxfPayloadConverter.java
+++
b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/converter/CxfPayloadConverter.java
@@ -36,7 +36,6 @@ import org.w3c.dom.NodeList;
import org.apache.camel.Converter;
import org.apache.camel.Exchange;
-import org.apache.camel.FallbackConverter;
import org.apache.camel.RuntimeCamelException;
import org.apache.camel.StreamCache;
import org.apache.camel.TypeConverter;
@@ -120,7 +119,7 @@ public final class CxfPayloadConverter {
}
@SuppressWarnings("unchecked")
- @FallbackConverter
+ @Converter(fallback = true)
public static <T> T convertTo(Class<T> type, Exchange exchange, Object
value, TypeConverterRegistry registry) {
// use fallback type converter, so we can probably convert into
// CxfPayloads from other types
diff --git
a/components/camel-file/src/main/java/org/apache/camel/component/file/GenericFileConverter.java
b/components/camel-file/src/main/java/org/apache/camel/component/file/GenericFileConverter.java
index 5d27cf0..4623f74 100644
---
a/components/camel-file/src/main/java/org/apache/camel/component/file/GenericFileConverter.java
+++
b/components/camel-file/src/main/java/org/apache/camel/component/file/GenericFileConverter.java
@@ -33,7 +33,6 @@ import java.util.function.Supplier;
import org.apache.camel.Converter;
import org.apache.camel.Exchange;
-import org.apache.camel.FallbackConverter;
import org.apache.camel.NoTypeConversionAvailableException;
import org.apache.camel.TypeConverter;
import org.apache.camel.spi.TypeConverterRegistry;
@@ -56,7 +55,7 @@ public final class GenericFileConverter {
// Helper Class
}
- @FallbackConverter
+ @Converter(fallback = true)
public static Object convertTo(Class<?> type, Exchange exchange, Object
value, TypeConverterRegistry registry)
throws IOException, NoTypeConversionAvailableException {
diff --git
a/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/converter/JacksonTypeConverters.java
b/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/converter/JacksonTypeConverters.java
index 7a2d5d2..454c027 100644
---
a/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/converter/JacksonTypeConverters.java
+++
b/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/converter/JacksonTypeConverters.java
@@ -26,7 +26,6 @@ import com.fasterxml.jackson.module.jaxb.JaxbAnnotationModule;
import org.apache.camel.CamelContext;
import org.apache.camel.Converter;
import org.apache.camel.Exchange;
-import org.apache.camel.FallbackConverter;
import org.apache.camel.component.jackson.JacksonConstants;
import org.apache.camel.spi.Registry;
import org.apache.camel.spi.TypeConverterRegistry;
@@ -34,7 +33,7 @@ import org.apache.camel.spi.TypeConverterRegistry;
/**
* Jackson {@link org.apache.camel.TypeConverter} that allows converting json
to/from POJOs and other types.
* <br/>
- * This implementation uses a {@link FallbackConverter}.
+ * This implementation uses a fallback converter.
* <p/>
* The converter is disabled by default. To enable then set the property
* {@link JacksonConstants#ENABLE_TYPE_CONVERTER} to <tt>true</tt> on {@link
CamelContext#getGlobalOptions()}.
@@ -58,7 +57,7 @@ public final class JacksonTypeConverters {
defaultMapper.registerModule(module);
}
- @FallbackConverter
+ @Converter(fallback = true)
public <T> T convertTo(Class<T> type, Exchange exchange, Object value,
TypeConverterRegistry registry) throws Exception {
// only do this if enabled (disabled by default)
diff --git
a/components/camel-jacksonxml/src/main/java/org/apache/camel/component/jacksonxml/converter/JacksonXMLTypeConverters.java
b/components/camel-jacksonxml/src/main/java/org/apache/camel/component/jacksonxml/converter/JacksonXMLTypeConverters.java
index c211d2d..0ca1387 100644
---
a/components/camel-jacksonxml/src/main/java/org/apache/camel/component/jacksonxml/converter/JacksonXMLTypeConverters.java
+++
b/components/camel-jacksonxml/src/main/java/org/apache/camel/component/jacksonxml/converter/JacksonXMLTypeConverters.java
@@ -23,7 +23,6 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.dataformat.xml.XmlMapper;
import org.apache.camel.Converter;
import org.apache.camel.Exchange;
-import org.apache.camel.FallbackConverter;
import org.apache.camel.component.jacksonxml.JacksonXMLConstants;
import org.apache.camel.spi.Registry;
import org.apache.camel.spi.TypeConverterRegistry;
@@ -38,7 +37,7 @@ public final class JacksonXMLTypeConverters {
public JacksonXMLTypeConverters() {
}
- @FallbackConverter
+ @Converter(fallback = true)
public <T> T convertTo(Class<T> type, Exchange exchange, Object value,
TypeConverterRegistry registry) {
// only do this if enabled
diff --git
a/components/camel-jclouds/src/main/java/org/apache/camel/component/jclouds/JcloudsPayloadConverter.java
b/components/camel-jclouds/src/main/java/org/apache/camel/component/jclouds/JcloudsPayloadConverter.java
index 401c45e..ca053e7 100644
---
a/components/camel-jclouds/src/main/java/org/apache/camel/component/jclouds/JcloudsPayloadConverter.java
+++
b/components/camel-jclouds/src/main/java/org/apache/camel/component/jclouds/JcloudsPayloadConverter.java
@@ -29,7 +29,6 @@ import com.google.common.io.ByteStreams;
import com.google.common.io.Files;
import org.apache.camel.Converter;
import org.apache.camel.Exchange;
-import org.apache.camel.FallbackConverter;
import org.apache.camel.TypeConverter;
import org.apache.camel.WrappedFile;
import org.apache.camel.converter.stream.StreamSourceCache;
@@ -127,9 +126,9 @@ public final class JcloudsPayloadConverter {
return payload;
}
- @FallbackConverter
+ @Converter(fallback = true)
@SuppressWarnings("unchecked")
- public static <T extends Payload> T convertTo(Class<T> type, Exchange
exchange, Object value, TypeConverterRegistry registry) throws IOException {
+ public static <T> T convertTo(Class<T> type, Exchange exchange, Object
value, TypeConverterRegistry registry) {
Class<?> sourceType = value.getClass();
if (type == Payload.class &&
WrappedFile.class.isAssignableFrom(sourceType)) {
// attempt to convert to JClouds Payload from a file
diff --git
a/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyConverter.java
b/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyConverter.java
index c8a1e05..1ae53c1 100644
---
a/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyConverter.java
+++
b/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyConverter.java
@@ -18,7 +18,6 @@ package org.apache.camel.component.jetty;
import org.apache.camel.Converter;
import org.apache.camel.Exchange;
-import org.apache.camel.FallbackConverter;
import org.apache.camel.spi.TypeConverterRegistry;
import org.eclipse.jetty.server.Request;
import org.eclipse.jetty.server.Response;
@@ -37,7 +36,7 @@ public final class JettyConverter {
return response.toString();
}
- @FallbackConverter
+ @Converter(fallback = true)
@SuppressWarnings("unchecked")
public static <T> T convertTo(Class<T> type, Exchange exchange, Object
value, TypeConverterRegistry registry) {
if (value != null) {
diff --git
a/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailConverters.java
b/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailConverters.java
index 65360ec..14c2d1e 100644
---
a/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailConverters.java
+++
b/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailConverters.java
@@ -36,7 +36,6 @@ import javax.mail.search.SearchTerm;
import com.sun.mail.imap.SortTerm;
import org.apache.camel.Converter;
import org.apache.camel.Exchange;
-import org.apache.camel.FallbackConverter;
import org.apache.camel.NoTypeConversionAvailableException;
import org.apache.camel.TypeConverter;
import org.apache.camel.spi.TypeConverterRegistry;
@@ -125,7 +124,7 @@ public final class MailConverters {
* Converts a JavaMail multipart into a body of any type a String can be
* converted into. The content-type of the part must be text based.
*/
- @FallbackConverter
+ @Converter(fallback = true)
public static <T> T convertTo(Class<T> type, Exchange exchange, Object
value, TypeConverterRegistry registry) throws MessagingException, IOException {
if (Multipart.class.isAssignableFrom(value.getClass())) {
TypeConverter tc = registry.lookup(type, String.class);
diff --git
a/components/camel-mongodb3/src/main/java/org/apache/camel/component/mongodb3/converters/MongoDbFallbackConverter.java
b/components/camel-mongodb3/src/main/java/org/apache/camel/component/mongodb3/converters/MongoDbFallbackConverter.java
index 01d1dcc..3f62bf7 100644
---
a/components/camel-mongodb3/src/main/java/org/apache/camel/component/mongodb3/converters/MongoDbFallbackConverter.java
+++
b/components/camel-mongodb3/src/main/java/org/apache/camel/component/mongodb3/converters/MongoDbFallbackConverter.java
@@ -26,7 +26,6 @@ import com.mongodb.DBObject;
import com.mongodb.util.JSON;
import org.apache.camel.Converter;
import org.apache.camel.Exchange;
-import org.apache.camel.FallbackConverter;
import org.apache.camel.InvalidPayloadException;
import org.apache.camel.spi.TypeConverterRegistry;
import org.bson.Document;
@@ -40,7 +39,7 @@ public final class MongoDbFallbackConverter {
private MongoDbFallbackConverter() {
}
- @FallbackConverter
+ @Converter(fallback = true)
@SuppressWarnings("unchecked")
public static Object convertTo(Class<?> type, Exchange exchange, Object
value, TypeConverterRegistry registry)
throws InvalidPayloadException {
diff --git
a/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/NettyHttpConverter.java
b/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/NettyHttpConverter.java
index 66bdd68..4bb181d 100644
---
a/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/NettyHttpConverter.java
+++
b/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/NettyHttpConverter.java
@@ -25,7 +25,6 @@ import io.netty.handler.codec.http.HttpRequest;
import io.netty.handler.codec.http.HttpResponse;
import org.apache.camel.Converter;
import org.apache.camel.Exchange;
-import org.apache.camel.FallbackConverter;
import org.apache.camel.component.netty4.NettyConverter;
import org.apache.camel.spi.TypeConverterRegistry;
@@ -39,7 +38,7 @@ public final class NettyHttpConverter {
/**
* A fallback converter that allows us to easily call Java beans and use
the raw Netty {@link HttpRequest} as parameter types.
*/
- @FallbackConverter
+ @Converter(fallback = true)
public static Object convertToHttpRequest(Class<?> type, Exchange
exchange, Object value, TypeConverterRegistry registry) {
// if we want to covert to HttpRequest
if (value != null && HttpRequest.class.isAssignableFrom(type)) {
@@ -67,7 +66,7 @@ public final class NettyHttpConverter {
/**
* A fallback converter that allows us to easily call Java beans and use
the raw Netty {@link HttpRequest} as parameter types.
*/
- @FallbackConverter
+ @Converter(fallback = true)
public static Object convertToHttpResponse(Class<?> type, Exchange
exchange, Object value, TypeConverterRegistry registry) {
// if we want to covert to convertToHttpResponse
if (value != null && HttpResponse.class.isAssignableFrom(type)) {
diff --git
a/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/ReactiveStreamsConverter.java
b/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/ReactiveStreamsConverter.java
index 08cb29b..415d4f4 100644
---
a/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/ReactiveStreamsConverter.java
+++
b/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/ReactiveStreamsConverter.java
@@ -20,7 +20,6 @@ import org.apache.camel.CamelContext;
import org.apache.camel.CamelContextAware;
import org.apache.camel.Converter;
import org.apache.camel.Exchange;
-import org.apache.camel.FallbackConverter;
import org.apache.camel.component.reactive.streams.util.MonoPublisher;
import org.apache.camel.spi.TypeConverterRegistry;
import org.reactivestreams.Publisher;
@@ -34,7 +33,7 @@ public final class ReactiveStreamsConverter implements
CamelContextAware {
public ReactiveStreamsConverter() {
}
- @FallbackConverter
+ @Converter(fallback = true)
public Object convertToPublisher(Class<?> type, Exchange exchange, Object
value, TypeConverterRegistry registry) {
if (type.isAssignableFrom(Publisher.class)) {
return new MonoPublisher<>(value);
diff --git
a/components/camel-saxon/src/main/java/org/apache/camel/converter/saxon/SaxonConverter.java
b/components/camel-saxon/src/main/java/org/apache/camel/converter/saxon/SaxonConverter.java
index defc7c4..2362e04 100644
---
a/components/camel-saxon/src/main/java/org/apache/camel/converter/saxon/SaxonConverter.java
+++
b/components/camel-saxon/src/main/java/org/apache/camel/converter/saxon/SaxonConverter.java
@@ -34,7 +34,6 @@ import net.sf.saxon.trans.XPathException;
import net.sf.saxon.type.Type;
import org.apache.camel.Converter;
import org.apache.camel.Exchange;
-import org.apache.camel.FallbackConverter;
import org.apache.camel.TypeConverter;
import org.apache.camel.spi.TypeConverterRegistry;
@@ -81,7 +80,7 @@ public final class SaxonConverter {
return new DOMNodeList(domNodeList);
}
- @FallbackConverter
+ @Converter(fallback = true)
public static <T> T convertTo(Class<T> type, Exchange exchange, Object
value, TypeConverterRegistry registry) {
if (NodeInfo.class.isAssignableFrom(value.getClass())) {
// use a fallback type converter so we can convert the embedded
body if the value is NodeInfo
diff --git
a/components/camel-spark-rest/src/main/java/org/apache/camel/component/sparkrest/SparkConverter.java
b/components/camel-spark-rest/src/main/java/org/apache/camel/component/sparkrest/SparkConverter.java
index 8c49e94..5da904c 100644
---
a/components/camel-spark-rest/src/main/java/org/apache/camel/component/sparkrest/SparkConverter.java
+++
b/components/camel-spark-rest/src/main/java/org/apache/camel/component/sparkrest/SparkConverter.java
@@ -18,7 +18,6 @@ package org.apache.camel.component.sparkrest;
import org.apache.camel.Converter;
import org.apache.camel.Exchange;
-import org.apache.camel.FallbackConverter;
import org.apache.camel.spi.TypeConverterRegistry;
import spark.Request;
import spark.Response;
@@ -32,7 +31,7 @@ public final class SparkConverter {
/**
* A fallback converter that allows us to easily call Java beans and use
the raw Spark {@link Request} as parameter types.
*/
- @FallbackConverter
+ @Converter(fallback = true)
public static Object convertToRequest(Class<?> type, Exchange exchange,
Object value, TypeConverterRegistry registry) {
// if we want to covert to Request
if (value != null && Request.class.isAssignableFrom(type)) {
@@ -57,7 +56,7 @@ public final class SparkConverter {
/**
* A fallback converter that allows us to easily call Java beans and use
the raw Spark {@link Response} as parameter types.
*/
- @FallbackConverter
+ @Converter(fallback = true)
public static Object convertToResponse(Class<?> type, Exchange exchange,
Object value, TypeConverterRegistry registry) {
// if we want to covert to Response
if (value != null && Response.class.isAssignableFrom(type)) {
diff --git
a/core/camel-api/src/main/java/org/apache/camel/FallbackConverter.java
b/core/camel-api/src/main/java/org/apache/camel/FallbackConverter.java
index 4cff97c..5d72fab 100644
--- a/core/camel-api/src/main/java/org/apache/camel/FallbackConverter.java
+++ b/core/camel-api/src/main/java/org/apache/camel/FallbackConverter.java
@@ -35,6 +35,7 @@ import java.lang.annotation.Target;
* if it can not handle the types to convert from/to.
*
* @see org.apache.camel.component.file.GenericFileConverter
GenericFileConverter for an example.
+ * @deprecated use @Converter(fallback = true) instead
*/
@Retention(RetentionPolicy.RUNTIME)
@Documented
diff --git
a/core/camel-base/src/main/java/org/apache/camel/impl/converter/AnnotationTypeConverterLoader.java
b/core/camel-base/src/main/java/org/apache/camel/impl/converter/AnnotationTypeConverterLoader.java
index 87d5f02..b557a72 100644
---
a/core/camel-base/src/main/java/org/apache/camel/impl/converter/AnnotationTypeConverterLoader.java
+++
b/core/camel-base/src/main/java/org/apache/camel/impl/converter/AnnotationTypeConverterLoader.java
@@ -36,7 +36,6 @@ import static java.lang.reflect.Modifier.isStatic;
import org.apache.camel.Converter;
import org.apache.camel.Exchange;
-import org.apache.camel.FallbackConverter;
import org.apache.camel.TypeConverter;
import org.apache.camel.TypeConverterLoaderException;
import org.apache.camel.spi.PackageScanClassResolver;
@@ -271,13 +270,12 @@ public class AnnotationTypeConverterLoader implements
TypeConverterLoader {
if (method.getAnnotation(Converter.class) != null) {
allowNull =
method.getAnnotation(Converter.class).allowNull();
}
- injector = handleHasConverterAnnotation(registry, type,
injector, method, allowNull);
- } else if (ObjectHelper.hasAnnotation(method,
FallbackConverter.class, true)) {
- boolean allowNull = false;
- if (method.getAnnotation(FallbackConverter.class) != null)
{
- allowNull =
method.getAnnotation(FallbackConverter.class).allowNull();
+ boolean fallback =
method.getAnnotation(Converter.class).fallback();
+ if (fallback) {
+ injector =
handleHasFallbackConverterAnnotation(registry, type, injector, method,
allowNull);
+ } else {
+ injector = handleHasConverterAnnotation(registry,
type, injector, method, allowNull);
}
- injector = handleHasFallbackConverterAnnotation(registry,
type, injector, method, allowNull);
}
}
@@ -379,8 +377,8 @@ public class AnnotationTypeConverterLoader implements
TypeConverterLoader {
protected void registerFallbackTypeConverter(TypeConverterRegistry
registry, TypeConverter typeConverter, Method method) {
boolean canPromote = false;
// check whether the annotation may indicate it can promote
- if (method.getAnnotation(FallbackConverter.class) != null) {
- canPromote =
method.getAnnotation(FallbackConverter.class).canPromote();
+ if (method.getAnnotation(Converter.class) != null) {
+ canPromote =
method.getAnnotation(Converter.class).fallbackCanPromote();
}
registry.addFallbackTypeConverter(typeConverter, canPromote);
}
diff --git
a/core/camel-core-osgi/src/test/java/org/apache/camel/core/osgi/other/MyOtherTypeConverter.java
b/core/camel-core-osgi/src/test/java/org/apache/camel/core/osgi/other/MyOtherTypeConverter.java
index dd8ea95..0ee71fe 100644
---
a/core/camel-core-osgi/src/test/java/org/apache/camel/core/osgi/other/MyOtherTypeConverter.java
+++
b/core/camel-core-osgi/src/test/java/org/apache/camel/core/osgi/other/MyOtherTypeConverter.java
@@ -18,7 +18,6 @@ package org.apache.camel.core.osgi.other;
import org.apache.camel.Converter;
import org.apache.camel.Exchange;
-import org.apache.camel.FallbackConverter;
import org.apache.camel.TypeConverter;
import org.apache.camel.component.file.GenericFile;
import org.apache.camel.spi.TypeConverterRegistry;
@@ -52,7 +51,7 @@ public final class MyOtherTypeConverter {
return false;
}
- @FallbackConverter
+ @Converter(fallback = true)
public static Object convertTo(Class<?> type, Exchange exchange, Object
value, TypeConverterRegistry registry) {
// use a fallback type converter so we can convert the embedded body
if the value is GenericFile
if (GenericFile.class.isAssignableFrom(value.getClass())) {
diff --git
a/core/camel-core-osgi/src/test/java/org/apache/camel/core/osgi/test/MyTypeConverter.java
b/core/camel-core-osgi/src/test/java/org/apache/camel/core/osgi/test/MyTypeConverter.java
index be98bbe..6c95461 100644
---
a/core/camel-core-osgi/src/test/java/org/apache/camel/core/osgi/test/MyTypeConverter.java
+++
b/core/camel-core-osgi/src/test/java/org/apache/camel/core/osgi/test/MyTypeConverter.java
@@ -18,7 +18,6 @@ package org.apache.camel.core.osgi.test;
import org.apache.camel.Converter;
import org.apache.camel.Exchange;
-import org.apache.camel.FallbackConverter;
import org.apache.camel.TypeConverter;
import org.apache.camel.component.file.GenericFile;
import org.apache.camel.spi.TypeConverterRegistry;
@@ -52,7 +51,7 @@ public final class MyTypeConverter {
return false;
}
- @FallbackConverter
+ @Converter(fallback = true)
public static Object convertTo(Class<?> type, Exchange exchange, Object
value, TypeConverterRegistry registry) {
// use a fallback type converter so we can convert the embedded body
if the value is GenericFile
if (GenericFile.class.isAssignableFrom(value.getClass())) {
diff --git
a/core/camel-core/src/main/java/org/apache/camel/component/bean/BeanConverter.java
b/core/camel-core/src/main/java/org/apache/camel/component/bean/BeanConverter.java
index 6fb808f..b8b6f55 100644
---
a/core/camel-core/src/main/java/org/apache/camel/component/bean/BeanConverter.java
+++
b/core/camel-core/src/main/java/org/apache/camel/component/bean/BeanConverter.java
@@ -18,7 +18,6 @@ package org.apache.camel.component.bean;
import org.apache.camel.Converter;
import org.apache.camel.Exchange;
-import org.apache.camel.FallbackConverter;
import org.apache.camel.TypeConverter;
import org.apache.camel.spi.TypeConverterRegistry;
@@ -35,7 +34,6 @@ public final class BeanConverter {
}
@Converter(fallback = true)
- @FallbackConverter
public static Object convertTo(Class<?> type, Exchange exchange, Object
value, TypeConverterRegistry registry) {
// use a fallback type converter so we can convert the embedded body
if the value is BeanInvocation
if (BeanInvocation.class.isAssignableFrom(value.getClass())) {
diff --git
a/core/camel-core/src/test/java/org/apache/camel/converter/myconverter/InstanceDummyFallbackConverter.java
b/core/camel-core/src/test/java/org/apache/camel/converter/myconverter/InstanceDummyFallbackConverter.java
index dfc6304..870de8b 100644
---
a/core/camel-core/src/test/java/org/apache/camel/converter/myconverter/InstanceDummyFallbackConverter.java
+++
b/core/camel-core/src/test/java/org/apache/camel/converter/myconverter/InstanceDummyFallbackConverter.java
@@ -22,7 +22,6 @@ import org.apache.camel.CamelContext;
import org.apache.camel.CamelContextAware;
import org.apache.camel.Converter;
import org.apache.camel.Exchange;
-import org.apache.camel.FallbackConverter;
import org.apache.camel.spi.TypeConverterRegistry;
@Converter
@@ -40,7 +39,7 @@ public class InstanceDummyFallbackConverter implements
CamelContextAware {
this.camelContext = camelContext;
}
- @FallbackConverter
+ @Converter(fallback = true)
public Object convertTo(Class<?> type, Exchange exchange, Object value,
TypeConverterRegistry registry) {
if (Currency.class.isAssignableFrom(value.getClass())) {
return "Money talks says " + camelContext.getName();
diff --git
a/core/camel-core/src/test/java/org/apache/camel/converter/myconverter/MyFallbackPromoteConverter.java
b/core/camel-core/src/test/java/org/apache/camel/converter/myconverter/MyFallbackPromoteConverter.java
index 040bfbc..de4adc3 100644
---
a/core/camel-core/src/test/java/org/apache/camel/converter/myconverter/MyFallbackPromoteConverter.java
+++
b/core/camel-core/src/test/java/org/apache/camel/converter/myconverter/MyFallbackPromoteConverter.java
@@ -18,14 +18,13 @@ package org.apache.camel.converter.myconverter;
import org.apache.camel.Converter;
import org.apache.camel.Exchange;
-import org.apache.camel.FallbackConverter;
import org.apache.camel.converter.MyCoolBean;
import org.apache.camel.spi.TypeConverterRegistry;
@Converter
public class MyFallbackPromoteConverter {
- @FallbackConverter(canPromote = true)
+ @Converter(fallback = true, fallbackCanPromote = true)
public Object convertTo(Class<?> type, Exchange exchange, Object value,
TypeConverterRegistry registry) {
if (MyCoolBean.class.isAssignableFrom(value.getClass())) {
return "This is cool: " + value.toString();
diff --git
a/core/camel-core/src/test/java/org/apache/camel/converter/myconverter/StaticDummyFallbackConverter.java
b/core/camel-core/src/test/java/org/apache/camel/converter/myconverter/StaticDummyFallbackConverter.java
index cea018c..56c0e5c 100644
---
a/core/camel-core/src/test/java/org/apache/camel/converter/myconverter/StaticDummyFallbackConverter.java
+++
b/core/camel-core/src/test/java/org/apache/camel/converter/myconverter/StaticDummyFallbackConverter.java
@@ -20,7 +20,6 @@ import java.util.TimeZone;
import org.apache.camel.Converter;
import org.apache.camel.Exchange;
-import org.apache.camel.FallbackConverter;
import org.apache.camel.spi.TypeConverterRegistry;
@Converter
@@ -29,7 +28,7 @@ public final class StaticDummyFallbackConverter {
private StaticDummyFallbackConverter() {
}
- @FallbackConverter
+ @Converter(fallback = true)
public static Object convertTo(Class<?> type, Exchange exchange, Object
value, TypeConverterRegistry registry) {
if (TimeZone.class.isAssignableFrom(value.getClass())) {
return "Time talks";