This is an automated email from the ASF dual-hosted git repository. lburgazzoli pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/camel.git
commit 99ee3fe43af67a594c59adb0cc3025a87fdbdf8f Author: Luca Burgazzoli <lburgazz...@gmail.com> AuthorDate: Thu Mar 4 13:01:00 2021 +0100 CAMEL-16285: Extensible ResourceHelper (adapt components) --- .../apache/camel/component/dozer/DozerEndpoint.java | 4 ++-- .../converter/dozer/DozerTypeConverterLoader.java | 19 ------------------- .../camel/component/ehcache/EhcacheComponent.java | 5 +---- .../apache/camel/component/elsql/ElsqlEndpoint.java | 2 +- .../component/freemarker/FreemarkerComponent.java | 2 +- .../org/apache/camel/component/grpc/GrpcConsumer.java | 13 ++++++------- .../org/apache/camel/component/grpc/GrpcProducer.java | 15 +++++++++------ .../apache/camel/converter/jaxb/JaxbDataFormat.java | 4 ++-- .../camel/component/xquery/XQueryComponent.java | 2 +- .../servicenow/ServiceNowAttachmentTest.java | 2 +- .../apache/camel/component/thrift/ThriftConsumer.java | 6 ++---- .../apache/camel/component/thrift/ThriftProducer.java | 4 +--- .../xmlsecurity/processor/XmlSignatureProcessor.java | 2 +- 13 files changed, 28 insertions(+), 52 deletions(-) diff --git a/components/camel-dozer/src/main/java/org/apache/camel/component/dozer/DozerEndpoint.java b/components/camel-dozer/src/main/java/org/apache/camel/component/dozer/DozerEndpoint.java index 8713176..b4e1e7e 100644 --- a/components/camel-dozer/src/main/java/org/apache/camel/component/dozer/DozerEndpoint.java +++ b/components/camel-dozer/src/main/java/org/apache/camel/component/dozer/DozerEndpoint.java @@ -125,7 +125,7 @@ public class DozerEndpoint extends DefaultEndpoint { if (mapper == null) { if (configuration.getMappingConfiguration() == null) { - URL url = ResourceHelper.resolveMandatoryResourceAsUrl(getCamelContext().getClassResolver(), + URL url = ResourceHelper.resolveMandatoryResourceAsUrl(getCamelContext(), configuration.getMappingFile()); DozerBeanMapperConfiguration config = new DozerBeanMapperConfiguration(); @@ -144,7 +144,7 @@ public class DozerEndpoint extends DefaultEndpoint { // if bean mapping builders have been defined skip loading the "default" mapping file. if (isNullOrEmpty(configuration.getMappingConfiguration().getBeanMappingBuilders())) { if (config.getMappingFiles() == null || config.getMappingFiles().isEmpty()) { - URL url = ResourceHelper.resolveMandatoryResourceAsUrl(getCamelContext().getClassResolver(), + URL url = ResourceHelper.resolveMandatoryResourceAsUrl(getCamelContext(), configuration.getMappingFile()); config.setMappingFiles(Arrays.asList(url.toString())); } diff --git a/components/camel-dozer/src/main/java/org/apache/camel/converter/dozer/DozerTypeConverterLoader.java b/components/camel-dozer/src/main/java/org/apache/camel/converter/dozer/DozerTypeConverterLoader.java index c0cbcf0..c556995 100644 --- a/components/camel-dozer/src/main/java/org/apache/camel/converter/dozer/DozerTypeConverterLoader.java +++ b/components/camel-dozer/src/main/java/org/apache/camel/converter/dozer/DozerTypeConverterLoader.java @@ -16,8 +16,6 @@ */ package org.apache.camel.converter.dozer; -import java.net.MalformedURLException; -import java.net.URL; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -25,14 +23,11 @@ import java.util.Map; import com.github.dozermapper.core.Mapper; import com.github.dozermapper.core.metadata.ClassMappingMetadata; import com.github.dozermapper.core.metadata.MappingMetadata; -import com.github.dozermapper.core.util.DozerClassLoader; import org.apache.camel.CamelContext; import org.apache.camel.CamelContextAware; import org.apache.camel.RuntimeCamelException; import org.apache.camel.TypeConverter; -import org.apache.camel.spi.ClassResolver; import org.apache.camel.spi.TypeConverterRegistry; -import org.apache.camel.support.ResourceHelper; import org.apache.camel.support.service.ServiceSupport; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -260,20 +255,6 @@ public class DozerTypeConverterLoader extends ServiceSupport implements CamelCon this.mapper = mapper; } - protected static URL loadMappingFile(ClassResolver classResolver, String mappingFile) { - URL url = null; - try { - url = ResourceHelper.resolveResourceAsUrl(classResolver, mappingFile); - } catch (MalformedURLException e) { - // ignore - } - if (url == null) { - // using the classloader of DozerClassLoader as a fallback - url = DozerClassLoader.class.getClassLoader().getResource(mappingFile); - } - return url; - } - @Override protected void doStart() throws Exception { init(camelContext, mapper); diff --git a/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/EhcacheComponent.java b/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/EhcacheComponent.java index 29ca965..65cf5f9 100644 --- a/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/EhcacheComponent.java +++ b/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/EhcacheComponent.java @@ -24,7 +24,6 @@ import java.util.concurrent.ConcurrentMap; import org.apache.camel.CamelContext; import org.apache.camel.Endpoint; -import org.apache.camel.spi.ClassResolver; import org.apache.camel.spi.Metadata; import org.apache.camel.spi.annotations.Component; import org.apache.camel.support.DefaultComponent; @@ -100,9 +99,7 @@ public class EhcacheComponent extends DefaultComponent { // Check if a configuration file has been provided if (configuration.hasConfigurationUri()) { String configurationUri = configuration.getConfigurationUri(); - ClassResolver classResolver = getCamelContext().getClassResolver(); - - URL url = ResourceHelper.resolveMandatoryResourceAsUrl(classResolver, configurationUri); + URL url = ResourceHelper.resolveMandatoryResourceAsUrl(getCamelContext(), configurationUri); LOGGER.info("EhcacheManager configured with supplied URI {}", url); diff --git a/components/camel-elsql/src/main/java/org/apache/camel/component/elsql/ElsqlEndpoint.java b/components/camel-elsql/src/main/java/org/apache/camel/component/elsql/ElsqlEndpoint.java index 922670a..b408d7e 100644 --- a/components/camel-elsql/src/main/java/org/apache/camel/component/elsql/ElsqlEndpoint.java +++ b/components/camel-elsql/src/main/java/org/apache/camel/component/elsql/ElsqlEndpoint.java @@ -146,7 +146,7 @@ public class ElsqlEndpoint extends DefaultSqlEndpoint { for (final String path : it) { if (predicate.test(path)) { - final URL url = ResourceHelper.resolveMandatoryResourceAsUrl(getCamelContext().getClassResolver(), path); + final URL url = ResourceHelper.resolveMandatoryResourceAsUrl(getCamelContext(), path); list.add(url); } } diff --git a/components/camel-freemarker/src/main/java/org/apache/camel/component/freemarker/FreemarkerComponent.java b/components/camel-freemarker/src/main/java/org/apache/camel/component/freemarker/FreemarkerComponent.java index ddfe6bf..e48427f 100644 --- a/components/camel-freemarker/src/main/java/org/apache/camel/component/freemarker/FreemarkerComponent.java +++ b/components/camel-freemarker/src/main/java/org/apache/camel/component/freemarker/FreemarkerComponent.java @@ -90,7 +90,7 @@ public class FreemarkerComponent extends DefaultComponent { @Override protected URL getURL(String name) { try { - return ResourceHelper.resolveMandatoryResourceAsUrl(getCamelContext().getClassResolver(), name); + return ResourceHelper.resolveMandatoryResourceAsUrl(getCamelContext(), name); } catch (Exception e) { // freemarker prefers to ask for locale first (eg xxx_en_GB, xxX_en), and then fallback without locale // so we should return null to signal the resource could not be found diff --git a/components/camel-grpc/src/main/java/org/apache/camel/component/grpc/GrpcConsumer.java b/components/camel-grpc/src/main/java/org/apache/camel/component/grpc/GrpcConsumer.java index ecfe785..c6af1b3 100644 --- a/components/camel-grpc/src/main/java/org/apache/camel/component/grpc/GrpcConsumer.java +++ b/components/camel-grpc/src/main/java/org/apache/camel/component/grpc/GrpcConsumer.java @@ -36,7 +36,6 @@ import org.apache.camel.component.grpc.auth.jwt.JwtServerInterceptor; import org.apache.camel.component.grpc.server.BindableServiceFactory; import org.apache.camel.component.grpc.server.DefaultBindableServiceFactory; import org.apache.camel.component.grpc.server.GrpcHeaderInterceptor; -import org.apache.camel.spi.ClassResolver; import org.apache.camel.support.CamelContextHelper; import org.apache.camel.support.DefaultConsumer; import org.apache.camel.support.ResourceHelper; @@ -113,21 +112,21 @@ public class GrpcConsumer extends DefaultConsumer { ObjectHelper.notNull(configuration.getKeyCertChainResource(), "keyCertChainResource"); ObjectHelper.notNull(configuration.getKeyResource(), "keyResource"); - ClassResolver classResolver = endpoint.getCamelContext().getClassResolver(); - SslContextBuilder sslContextBuilder = SslContextBuilder .forServer( - ResourceHelper.resolveResourceAsInputStream(classResolver, + ResourceHelper.resolveResourceAsInputStream(endpoint.getCamelContext(), configuration.getKeyCertChainResource()), - ResourceHelper.resolveResourceAsInputStream(classResolver, configuration.getKeyResource()), + ResourceHelper.resolveResourceAsInputStream(endpoint.getCamelContext(), + configuration.getKeyResource()), configuration.getKeyPassword()) .clientAuth(ClientAuth.REQUIRE) .sslProvider(SslProvider.OPENSSL); if (ObjectHelper.isNotEmpty(configuration.getTrustCertCollectionResource())) { - sslContextBuilder = sslContextBuilder.trustManager(ResourceHelper.resolveResourceAsInputStream(classResolver, - configuration.getTrustCertCollectionResource())); + sslContextBuilder + = sslContextBuilder.trustManager(ResourceHelper.resolveResourceAsInputStream(endpoint.getCamelContext(), + configuration.getTrustCertCollectionResource())); } serverBuilder = serverBuilder.sslContext(GrpcSslContexts.configure(sslContextBuilder).build()); diff --git a/components/camel-grpc/src/main/java/org/apache/camel/component/grpc/GrpcProducer.java b/components/camel-grpc/src/main/java/org/apache/camel/component/grpc/GrpcProducer.java index 034b896..815a6bb 100644 --- a/components/camel-grpc/src/main/java/org/apache/camel/component/grpc/GrpcProducer.java +++ b/components/camel-grpc/src/main/java/org/apache/camel/component/grpc/GrpcProducer.java @@ -100,10 +100,10 @@ public class GrpcProducer extends DefaultAsyncProducer { if (configuration.getAuthenticationType() == GrpcAuthType.GOOGLE) { ObjectHelper.notNull(configuration.getKeyCertChainResource(), "serviceAccountResource"); - ClassResolver classResolver = endpoint.getCamelContext().getClassResolver(); Credentials creds = GoogleCredentials.fromStream( - ResourceHelper.resolveResourceAsInputStream(classResolver, configuration.getServiceAccountResource())); + ResourceHelper.resolveResourceAsInputStream(endpoint.getCamelContext(), + configuration.getServiceAccountResource())); callCreds = MoreCallCredentials.from(creds); } else if (configuration.getAuthenticationType() == GrpcAuthType.JWT) { ObjectHelper.notNull(configuration.getJwtSecret(), "jwtSecret"); @@ -170,13 +170,16 @@ public class GrpcProducer extends DefaultAsyncProducer { SslContextBuilder sslContextBuilder = GrpcSslContexts.forClient() .sslProvider(SslProvider.OPENSSL) .keyManager( - ResourceHelper.resolveResourceAsInputStream(classResolver, configuration.getKeyCertChainResource()), - ResourceHelper.resolveResourceAsInputStream(classResolver, configuration.getKeyResource()), + ResourceHelper.resolveResourceAsInputStream(endpoint.getCamelContext(), + configuration.getKeyCertChainResource()), + ResourceHelper.resolveResourceAsInputStream(endpoint.getCamelContext(), + configuration.getKeyResource()), configuration.getKeyPassword()); if (ObjectHelper.isNotEmpty(configuration.getTrustCertCollectionResource())) { - sslContextBuilder = sslContextBuilder.trustManager(ResourceHelper.resolveResourceAsInputStream(classResolver, - configuration.getTrustCertCollectionResource())); + sslContextBuilder + = sslContextBuilder.trustManager(ResourceHelper.resolveResourceAsInputStream(endpoint.getCamelContext(), + configuration.getTrustCertCollectionResource())); } channelBuilder = channelBuilder.sslContext(sslContextBuilder.build()); diff --git a/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbDataFormat.java b/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbDataFormat.java index c89a023..6f063e1 100644 --- a/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbDataFormat.java +++ b/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbDataFormat.java @@ -246,7 +246,7 @@ public class JaxbDataFormat extends ServiceSupport // if a schema is set then an MarshallException is thrown when the XML is not valid // and the method must throw this exception as it would when the object in the body is a root element // or a partial class (the other alternatives above) - // + // // it would be best to completely remove the exception handler here but it's left for backwards compatibility reasons. if (MarshalException.class.isAssignableFrom(e.getClass()) && schema != null) { throw e; @@ -614,7 +614,7 @@ public class JaxbDataFormat extends ServiceSupport String[] schemas = schema.split(","); Source[] sources = new Source[schemas.length]; for (int i = 0; i < schemas.length; i++) { - URL schemaUrl = ResourceHelper.resolveMandatoryResourceAsUrl(camelContext.getClassResolver(), schemas[i]); + URL schemaUrl = ResourceHelper.resolveMandatoryResourceAsUrl(camelContext, schemas[i]); sources[i] = new StreamSource(schemaUrl.toExternalForm()); } return sources; diff --git a/components/camel-saxon/src/main/java/org/apache/camel/component/xquery/XQueryComponent.java b/components/camel-saxon/src/main/java/org/apache/camel/component/xquery/XQueryComponent.java index 782981f..83e3c52 100644 --- a/components/camel-saxon/src/main/java/org/apache/camel/component/xquery/XQueryComponent.java +++ b/components/camel-saxon/src/main/java/org/apache/camel/component/xquery/XQueryComponent.java @@ -58,7 +58,7 @@ public class XQueryComponent extends DefaultComponent { } public URL resolveModuleResource(String uri) throws Exception { - return ResourceHelper.resolveMandatoryResourceAsUrl(getCamelContext().getClassResolver(), uri); + return ResourceHelper.resolveMandatoryResourceAsUrl(getCamelContext(), uri); } public ModuleURIResolver getModuleURIResolver() { diff --git a/components/camel-servicenow/camel-servicenow-component/src/test/java/org/apache/camel/component/servicenow/ServiceNowAttachmentTest.java b/components/camel-servicenow/camel-servicenow-component/src/test/java/org/apache/camel/component/servicenow/ServiceNowAttachmentTest.java index 5269cef..a9fc943 100644 --- a/components/camel-servicenow/camel-servicenow-component/src/test/java/org/apache/camel/component/servicenow/ServiceNowAttachmentTest.java +++ b/components/camel-servicenow/camel-servicenow-component/src/test/java/org/apache/camel/component/servicenow/ServiceNowAttachmentTest.java @@ -84,7 +84,7 @@ public class ServiceNowAttachmentTest extends ServiceNowTestSupport { e.getIn().setHeader(ServiceNowParams.PARAM_TABLE_SYS_ID.getHeader(), attachmentMetaList.get(0).getTableSysId()); e.getIn().setBody( - resolveResourceAsInputStream(e.getContext().getClassResolver(), "classpath:my-content.txt")); + resolveResourceAsInputStream(e.getContext(), "classpath:my-content.txt")); }); Exchange getCreatedResult = template.send( diff --git a/components/camel-thrift/src/main/java/org/apache/camel/component/thrift/ThriftConsumer.java b/components/camel-thrift/src/main/java/org/apache/camel/component/thrift/ThriftConsumer.java index 2453149..28173b9 100644 --- a/components/camel-thrift/src/main/java/org/apache/camel/component/thrift/ThriftConsumer.java +++ b/components/camel-thrift/src/main/java/org/apache/camel/component/thrift/ThriftConsumer.java @@ -31,7 +31,6 @@ import org.apache.camel.Processor; import org.apache.camel.component.thrift.server.ThriftHsHaServer; import org.apache.camel.component.thrift.server.ThriftMethodHandler; import org.apache.camel.component.thrift.server.ThriftThreadPoolServer; -import org.apache.camel.spi.ClassResolver; import org.apache.camel.support.DefaultConsumer; import org.apache.camel.support.ResourceHelper; import org.apache.camel.support.jsse.SSLContextParameters; @@ -126,7 +125,6 @@ public class ThriftConsumer extends DefaultConsumer { } if (configuration.getNegotiationType() == ThriftNegotiationType.SSL && endpoint.isSynchronous()) { - ClassResolver classResolver = endpoint.getCamelContext().getClassResolver(); SSLContextParameters sslParameters = configuration.getSslParameters(); if (sslParameters == null) { @@ -149,14 +147,14 @@ public class ThriftConsumer extends DefaultConsumer { if (ObjectHelper.isNotEmpty(sslParameters.getKeyManagers().getKeyStore().getProvider()) && ObjectHelper.isNotEmpty(sslParameters.getKeyManagers().getKeyStore().getType())) { sslParams.setKeyStore( - ResourceHelper.resolveResourceAsInputStream(classResolver, + ResourceHelper.resolveResourceAsInputStream(endpoint.getCamelContext(), sslParameters.getKeyManagers().getKeyStore().getResource()), sslParameters.getKeyManagers().getKeyStore().getPassword(), sslParameters.getKeyManagers().getKeyStore().getProvider(), sslParameters.getKeyManagers().getKeyStore().getType()); } else { sslParams.setKeyStore( - ResourceHelper.resolveResourceAsInputStream(classResolver, + ResourceHelper.resolveResourceAsInputStream(endpoint.getCamelContext(), sslParameters.getKeyManagers().getKeyStore().getResource()), sslParameters.getKeyManagers().getKeyStore().getPassword()); } diff --git a/components/camel-thrift/src/main/java/org/apache/camel/component/thrift/ThriftProducer.java b/components/camel-thrift/src/main/java/org/apache/camel/component/thrift/ThriftProducer.java index c1b051f..617ee00 100644 --- a/components/camel-thrift/src/main/java/org/apache/camel/component/thrift/ThriftProducer.java +++ b/components/camel-thrift/src/main/java/org/apache/camel/component/thrift/ThriftProducer.java @@ -23,7 +23,6 @@ import org.apache.camel.AsyncProducer; import org.apache.camel.Exchange; import org.apache.camel.Message; import org.apache.camel.component.thrift.client.AsyncClientMethodCallback; -import org.apache.camel.spi.ClassResolver; import org.apache.camel.support.DefaultAsyncProducer; import org.apache.camel.support.ResourceHelper; import org.apache.camel.support.jsse.SSLContextParameters; @@ -179,7 +178,6 @@ public class ThriftProducer extends DefaultAsyncProducer implements AsyncProduce configuration.getPort()); TSSLTransportFactory.TSSLTransportParameters sslParams; - ClassResolver classResolver = endpoint.getCamelContext().getClassResolver(); sslParams = new TSSLTransportFactory.TSSLTransportParameters( sslParameters.getSecureSocketProtocol(), @@ -190,7 +188,7 @@ public class ThriftProducer extends DefaultAsyncProducer implements AsyncProduce if (ObjectHelper.isNotEmpty(sslParameters.getTrustManagers().getProvider()) && ObjectHelper.isNotEmpty(sslParameters.getTrustManagers().getKeyStore().getType())) { sslParams.setTrustStore( - ResourceHelper.resolveResourceAsInputStream(classResolver, + ResourceHelper.resolveResourceAsInputStream(endpoint.getCamelContext(), sslParameters.getTrustManagers().getKeyStore().getResource()), sslParameters.getTrustManagers().getKeyStore().getPassword(), sslParameters.getTrustManagers().getProvider(), diff --git a/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/processor/XmlSignatureProcessor.java b/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/processor/XmlSignatureProcessor.java index 455b501..5c0eb30 100644 --- a/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/processor/XmlSignatureProcessor.java +++ b/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/processor/XmlSignatureProcessor.java @@ -113,7 +113,7 @@ public abstract class XmlSignatureProcessor implements Processor { if (schemaResourceUri == null || schemaResourceUri.isEmpty()) { return null; } - InputStream is = ResourceHelper.resolveResourceAsInputStream(getCamelContext().getClassResolver(), + InputStream is = ResourceHelper.resolveResourceAsInputStream(getCamelContext(), schemaResourceUri); if (is == null) { throw new XmlSignatureException(