This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch CAMEL-18665 in repository https://gitbox.apache.org/repos/asf/camel.git
commit 8ee424af24fc7f638c8de526eaa4c3714e14f1d0 Author: Claus Ibsen <[email protected]> AuthorDate: Mon Oct 31 22:06:30 2022 +0100 CAMEL-18665: camel-core: JsseParameters should use the camel provided resource loader instead of its own --- .../java/org/apache/camel/support/jsse/JsseParameters.java | 10 +++------- .../apache/camel/support/jsse/KeyManagersParametersTest.java | 5 ++++- .../org/apache/camel/support/jsse/KeyStoreParametersTest.java | 8 +++++++- .../apache/camel/support/jsse/TrustManagersParametersTest.java | 4 +++- 4 files changed, 17 insertions(+), 10 deletions(-) diff --git a/core/camel-api/src/main/java/org/apache/camel/support/jsse/JsseParameters.java b/core/camel-api/src/main/java/org/apache/camel/support/jsse/JsseParameters.java index 4e3bce57ec4..ff3bb669ff7 100644 --- a/core/camel-api/src/main/java/org/apache/camel/support/jsse/JsseParameters.java +++ b/core/camel-api/src/main/java/org/apache/camel/support/jsse/JsseParameters.java @@ -16,11 +16,8 @@ */ package org.apache.camel.support.jsse; -import java.io.FileInputStream; -import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; -import java.net.URL; import java.util.ArrayList; import java.util.List; @@ -31,16 +28,13 @@ import org.apache.camel.RuntimeCamelException; import org.apache.camel.spi.ClassResolver; import org.apache.camel.spi.Resource; import org.apache.camel.spi.ResourceLoader; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.camel.util.ObjectHelper; /** * Base class that provides optional integration with core Camel capabilities. */ public class JsseParameters implements CamelContextAware { - private static final Logger LOG = LoggerFactory.getLogger(JsseParameters.class); - private CamelContext context; /** @@ -119,6 +113,8 @@ public class JsseParameters implements CamelContextAware { * @throws IOException if the resource cannot be resolved using any of the above methods */ protected InputStream resolveResource(String resource) throws IOException { + ObjectHelper.notNull(getCamelContext(), "CamelContext", this); + Resource res = getCamelContext().adapt(ExtendedCamelContext.class).getResourceLoader().resolveResource(resource); if (res == null) { throw new IOException("Could not open " + resource + " as a file, class path resource, or URL."); diff --git a/core/camel-core/src/test/java/org/apache/camel/support/jsse/KeyManagersParametersTest.java b/core/camel-core/src/test/java/org/apache/camel/support/jsse/KeyManagersParametersTest.java index 22f124a53c1..6187b4b6396 100644 --- a/core/camel-core/src/test/java/org/apache/camel/support/jsse/KeyManagersParametersTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/support/jsse/KeyManagersParametersTest.java @@ -25,6 +25,7 @@ import javax.net.ssl.KeyManagerFactory; import javax.net.ssl.X509KeyManager; import org.apache.camel.CamelContext; +import org.apache.camel.impl.DefaultCamelContext; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.*; @@ -33,6 +34,7 @@ public class KeyManagersParametersTest extends AbstractJsseParametersTest { protected KeyStoreParameters createMinimalKeyStoreParameters() { KeyStoreParameters ksp = new KeyStoreParameters(); + ksp.setCamelContext(new DefaultCamelContext()); ksp.setResource("org/apache/camel/support/jsse/localhost.p12"); ksp.setPassword("changeit"); @@ -43,6 +45,8 @@ public class KeyManagersParametersTest extends AbstractJsseParametersTest { protected KeyManagersParameters createMinimalKeyManagersParameters() { KeyManagersParameters kmp = new KeyManagersParameters(); + kmp.setCamelContext(new DefaultCamelContext()); + kmp.setKeyStore(this.createMinimalKeyStoreParameters()); kmp.setKeyPassword("changeit"); @@ -51,7 +55,6 @@ public class KeyManagersParametersTest extends AbstractJsseParametersTest { @Test public void testPropertyPlaceholders() throws Exception { - CamelContext context = this.createPropertiesPlaceholderAwareContext(); KeyStoreParameters ksp = new KeyStoreParameters(); diff --git a/core/camel-core/src/test/java/org/apache/camel/support/jsse/KeyStoreParametersTest.java b/core/camel-core/src/test/java/org/apache/camel/support/jsse/KeyStoreParametersTest.java index 03ea54850cb..33f79aaabca 100644 --- a/core/camel-core/src/test/java/org/apache/camel/support/jsse/KeyStoreParametersTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/support/jsse/KeyStoreParametersTest.java @@ -26,6 +26,7 @@ import java.security.KeyStoreException; import java.security.NoSuchProviderException; import org.apache.camel.CamelContext; +import org.apache.camel.impl.DefaultCamelContext; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertNotNull; @@ -62,6 +63,7 @@ public class KeyStoreParametersTest extends AbstractJsseParametersTest { @Test public void testValidParameters() throws GeneralSecurityException, IOException, URISyntaxException { KeyStoreParameters ksp = this.createMinimalKeyStoreParameters(); + ksp.setCamelContext(new DefaultCamelContext()); KeyStore ks = ksp.createKeyStore(); assertNotNull(ks.getCertificate("localhost")); @@ -73,7 +75,7 @@ public class KeyStoreParametersTest extends AbstractJsseParametersTest { resourceUrl = this.getClass().getResource("/org/apache/camel/support/jsse/localhost.p12"); File file = new File(resourceUrl.toURI()); - ksp.setResource(file.getAbsolutePath()); + ksp.setResource("file:" + file.getAbsolutePath()); ks = ksp.createKeyStore(); assertNotNull(ks.getCertificate("localhost")); } @@ -81,6 +83,7 @@ public class KeyStoreParametersTest extends AbstractJsseParametersTest { @Test public void testExplicitType() throws Exception { KeyStoreParameters ksp = this.createMinimalKeyStoreParameters(); + ksp.setCamelContext(new DefaultCamelContext()); ksp.setType("jks"); KeyStore ks = ksp.createKeyStore(); @@ -90,6 +93,7 @@ public class KeyStoreParametersTest extends AbstractJsseParametersTest { @Test public void testExplicitProvider() throws Exception { KeyStoreParameters ksp = this.createMinimalKeyStoreParameters(); + ksp.setCamelContext(new DefaultCamelContext()); ksp.setProvider(ksp.createKeyStore().getProvider().getName()); KeyStore ks = ksp.createKeyStore(); @@ -140,6 +144,7 @@ public class KeyStoreParametersTest extends AbstractJsseParametersTest { @Test public void testIncorrectPassword() throws Exception { KeyStoreParameters ksp = this.createMinimalKeyStoreParameters(); + ksp.setCamelContext(new DefaultCamelContext()); ksp.setPassword(""); try { @@ -153,6 +158,7 @@ public class KeyStoreParametersTest extends AbstractJsseParametersTest { @Test public void testIncorrectResource() throws Exception { KeyStoreParameters ksp = this.createMinimalKeyStoreParameters(); + ksp.setCamelContext(new DefaultCamelContext()); ksp.setResource(""); try { diff --git a/core/camel-core/src/test/java/org/apache/camel/support/jsse/TrustManagersParametersTest.java b/core/camel-core/src/test/java/org/apache/camel/support/jsse/TrustManagersParametersTest.java index d97965ac572..4e7e0e4982b 100644 --- a/core/camel-core/src/test/java/org/apache/camel/support/jsse/TrustManagersParametersTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/support/jsse/TrustManagersParametersTest.java @@ -25,6 +25,7 @@ import javax.net.ssl.TrustManagerFactory; import javax.net.ssl.X509TrustManager; import org.apache.camel.CamelContext; +import org.apache.camel.impl.DefaultCamelContext; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.*; @@ -33,6 +34,7 @@ public class TrustManagersParametersTest extends AbstractJsseParametersTest { protected KeyStoreParameters createMinimalKeyStoreParameters() { KeyStoreParameters ksp = new KeyStoreParameters(); + ksp.setCamelContext(new DefaultCamelContext()); ksp.setResource("org/apache/camel/support/jsse/localhost.p12"); ksp.setPassword("changeit"); @@ -42,8 +44,8 @@ public class TrustManagersParametersTest extends AbstractJsseParametersTest { protected TrustManagersParameters createMinimalTrustManagersParameters() { TrustManagersParameters tmp = new TrustManagersParameters(); + tmp.setCamelContext(new DefaultCamelContext()); tmp.setKeyStore(this.createMinimalKeyStoreParameters()); - return tmp; }
