Refine search
/** * Loads a private key from a PKCS#8 file. */ public PrivateKey loadPrivateKey() throws Exception { InputStream is = ResourceHelper.resolveMandatoryResourceAsInputStream(getCamelContext(), keyLocation); String str; try { str = getCamelContext().getTypeConverter().mandatoryConvertTo(String.class, is); } finally { IOHelper.close(is); } // replace line feeds from windows to unix style if (!System.lineSeparator().equals("\n")) { str = str.replaceAll(System.lineSeparator(), "\n"); } if (str.contains(BEGIN) && str.contains(END)) { str = str.substring(BEGIN.length(), str.lastIndexOf(END)); } byte[] decoded = Base64.decode(str); KeyFactory factory = KeyFactory.getInstance("RSA"); return factory.generatePrivate(new PKCS8EncodedKeySpec(decoded)); }
protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception { StringTemplateEndpoint answer = new StringTemplateEndpoint(uri, this, remaining); setProperties(answer, parameters); // if its a http resource then append any remaining parameters and update the resource uri if (ResourceHelper.isHttpUri(remaining)) { remaining = ResourceHelper.appendParameters(remaining, parameters); answer.setResourceUri(remaining); } return answer; } }
/** * Resolves the script. * * @param script script or uri for a script to load * @return the script * @throws IOException is thrown if error loading the script */ protected String resolveScript(String script) throws IOException { String answer; if (ResourceHelper.hasScheme(script)) { InputStream is = loadResource(script); answer = currentExchange.get().getContext().getTypeConverter().convertTo(String.class, is); IOHelper.close(is); } else { answer = script; } return answer; }
/** * Resolve the query by loading the query from the classpath or file resource if needed. */ public static String resolveQuery(CamelContext camelContext, String query, String placeholder) throws NoTypeConversionAvailableException, IOException { String answer = query; if (ResourceHelper.hasScheme(query)) { InputStream is = ResourceHelper.resolveMandatoryResourceAsInputStream(camelContext, query); answer = camelContext.getTypeConverter().mandatoryConvertTo(String.class, is); if (placeholder != null) { answer = answer.replaceAll(placeholder, "?"); } } return answer; } }
private Session createSession(ScpConfiguration config) { ObjectHelper.notNull(config, "ScpConfiguration"); try { final JSch jsch = new JSch(); if (ObjectHelper.isNotEmpty(config.getCiphers())) { LOG.trace("Using ciphers: {}", config.getCiphers()); Hashtable<String, String> ciphers = new Hashtable<>(); JSch.setConfig(ciphers); if (ObjectHelper.isNotEmpty(config.getPrivateKeyFile())) { LOG.trace("Using private keyfile: {}", config.getPrivateKeyFile()); String pkfp = config.getPrivateKeyFilePassphrase(); InputStream is = ResourceHelper.resolveMandatoryResourceAsInputStream(endpoint.getCamelContext(), name); byte[] data = endpoint.getCamelContext().getTypeConverter().mandatoryConvertTo(byte[].class, is); jsch.addIdentity("camel-jsch", data, null, pkfp != null ? pkfp.getBytes() : null); } catch (Exception e) { InputStream is = ResourceHelper.resolveMandatoryResourceAsInputStream(endpoint.getCamelContext(), knownHostsFile); jsch.setKnownHosts(is); } catch (Exception e) {
if (ObjectHelper.isNotEmpty(uri)) { uri = camelContext.resolvePropertyPlaceholders(uri); try (InputStream is = ResourceHelper.resolveMandatoryResourceAsInputStream(camelContext, uri)) { Properties properties = new Properties(); properties.load(is); camelContext.getInjector().newInstance(configuration.getTransport()) );
velocityEngine.addProperty("CamelClassResolver", getCamelContext().getClassResolver()); if (ObjectHelper.isNotEmpty(getPropertiesFile())) { InputStream reader = ResourceHelper.resolveMandatoryResourceAsInputStream(getCamelContext(), getPropertiesFile()); try { properties.load(reader); log.info("Loaded the velocity configuration file {}", getPropertiesFile()); } finally { IOHelper.close(reader, getPropertiesFile(), log);
Iterator<Object> it = ObjectHelper.createIterator(value); while (it.hasNext()) { value = (String) it.next(); if (ObjectHelper.isNotEmpty(value)) { } else if (ResourceHelper.hasScheme(value)) { is = ResourceHelper.resolveMandatoryResourceAsInputStream(camelContext, value); target = camelContext.loadRoutesDefinition(is); } catch (Exception e) { throw new RuntimeException("Error loading routes from resource: " + value, e); } finally { IOHelper.close(is, entry.getKey(), LOG);
private synchronized AtlasContextFactory getOrCreateAtlasContextFactory() throws Exception { if (atlasContextFactory == null) { Properties properties = new Properties(); // load the properties from property file which may overrides the default ones if (ObjectHelper.isNotEmpty(getPropertiesFile())) { InputStream reader = ResourceHelper.resolveMandatoryResourceAsInputStream(getCamelContext(), getPropertiesFile()); try { properties.load(reader); log.info("Loaded the Atlas properties file " + getPropertiesFile()); } finally { IOHelper.close(reader, getPropertiesFile(), log); } log.debug("Initializing AtlasContextFactory with properties {}", properties); atlasContextFactory = new DefaultAtlasContextFactory(properties); } else { atlasContextFactory = DefaultAtlasContextFactory.getInstance(); } } return atlasContextFactory; }
String configUri = getAndRemoveParameter(parameters, HAZELCAST_CONFIGU_URI_PARAM, String.class); if (configUri != null) { configUri = getCamelContext().resolvePropertyPlaceholders(configUri); InputStream is = ResourceHelper.resolveMandatoryResourceAsInputStream(context, configUri); config = new XmlConfigBuilder(is).build(); if (ObjectHelper.isNotEmpty(config.getInstanceName())) { hzInstance = Hazelcast.getOrCreateHazelcastInstance(config); } else {
if (isNotEmpty(sftpConfig.getCiphers())) { LOG.debug("Using ciphers: {}", sftpConfig.getCiphers()); Hashtable<String, String> ciphers = new Hashtable<>(); if (isNotEmpty(sftpConfig.getPrivateKeyFile())) { LOG.debug("Using private keyfile: {}", sftpConfig.getPrivateKeyFile()); if (isNotEmpty(sftpConfig.getPrivateKeyPassphrase())) { jsch.addIdentity(sftpConfig.getPrivateKeyFile(), sftpConfig.getPrivateKeyPassphrase()); } else { InputStream is = ResourceHelper.resolveMandatoryResourceAsInputStream(endpoint.getCamelContext(), sftpConfig.getPrivateKeyUri()); ByteArrayOutputStream bos = new ByteArrayOutputStream(); IOHelper.copyAndCloseInput(is, bos); jsch.addIdentity("ID", bos.toByteArray(), null, passphrase); } catch (IOException e) { LOG.debug("Using known hosts uri: {}", sftpConfig.getKnownHostsUri()); try { InputStream is = ResourceHelper.resolveMandatoryResourceAsInputStream(endpoint.getCamelContext(), sftpConfig.getKnownHostsUri()); jsch.setKnownHosts(is); } catch (IOException e) {
public SSLContext createSSLContext(ClassResolver classResolver, String keyStoreFormat, String securityProvider, String keyStoreResource, String trustStoreResource, char[] passphrase) throws Exception { SSLContext answer; KeyStore ks = KeyStore.getInstance(keyStoreFormat); InputStream is = ResourceHelper.resolveMandatoryResourceAsInputStream(classResolver, keyStoreResource); try { ks.load(is, passphrase); } finally { IOHelper.close(is); } KeyManagerFactory kmf = KeyManagerFactory.getInstance(securityProvider); kmf.init(ks, passphrase); answer = SSLContext.getInstance(SSL_PROTOCOL); if (trustStoreResource != null) { KeyStore ts = KeyStore.getInstance(keyStoreFormat); is = ResourceHelper.resolveMandatoryResourceAsInputStream(classResolver, trustStoreResource); try { ts.load(is, passphrase); } finally { IOHelper.close(is); } TrustManagerFactory tmf = TrustManagerFactory.getInstance(securityProvider); tmf.init(ts); answer.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null); } else { answer.init(kmf.getKeyManagers(), null, null); } return answer; }
private Object mandatoryLoadResource(CamelContext context, String resource) { Object instance = null; if (resource.startsWith("classpath:")) { try (InputStream is = ResourceHelper.resolveMandatoryResourceAsInputStream(context, resource)) { instance = ModelHelper.loadRoutesDefinition(context, is); } catch (Exception e) { throw new IllegalArgumentException(e); } } else if (resource.startsWith("class:")) { Class<?> type = context.getClassResolver().resolveClass(resource.substring("class:".length())); instance = context.getInjector().newInstance(type); } else if (resource.startsWith("bean:")) { instance = context.getRegistry().lookupByName(resource.substring("bean:".length())); } if (instance == null) { throw new IllegalArgumentException("Unable to resolve resource: " + resource); } return instance; }
@Override protected void doStart() throws Exception { super.doStart(); ObjectHelper.notNull(resourceUri, "resourceUri", this); if (elSqlConfig == null && databaseVendor != null) { elSqlConfig = databaseVendor.asElSqlConfig(); } else if (elSqlConfig == null) { elSqlConfig = ElSqlDatabaseVendor.Default.asElSqlConfig(); } // there can be multiple resources // so we have all this lovely code to turn that into an URL[] final List<URL> list = new ArrayList<>(); final Iterable it = ObjectHelper.createIterable(resourceUri); for (final Object path : it) { final URL url = ResourceHelper.resolveMandatoryResourceAsUrl(getCamelContext().getClassResolver(), path.toString()); list.add(url); } final URL[] urls = list.toArray(new URL[list.size()]); elSql = ElSql.parse(elSqlConfig, urls); }
private void configureApnsCertificate(ApnsServiceBuilder builder) throws IOException, GeneralSecurityException { if (getSslContextParameters() != null) { builder.withSSLContext(getSslContextParameters().createSSLContext(getCamelContext())); return; } ObjectHelper.notNull(getCamelContext(), "camelContext"); StringHelper.notEmpty(getCertificatePath(), "certificatePath"); StringHelper.notEmpty(getCertificatePassword(), "certificatePassword"); InputStream certificateInputStream = null; try { certificateInputStream = ResourceHelper.resolveMandatoryResourceAsInputStream(camelContext, getCertificatePath()); builder.withCert(certificateInputStream, getCertificatePassword()); } finally { ResourceUtils.close(certificateInputStream); } }
private Source[] getSources() throws FileNotFoundException, MalformedURLException { // we support multiple schema by delimiting they by ',' 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]); sources[i] = new StreamSource(schemaUrl.toExternalForm()); } return sources; }
public static InputStream openInputStream(CamelContext camelContext, String uri) throws Exception { if (camelContext != null) { uri = camelContext.resolvePropertyPlaceholders(uri); return ResourceHelper.resolveMandatoryResourceAsInputStream(camelContext, uri); } return Thread.currentThread().getContextClassLoader().getResourceAsStream(uri); } }
private static InputStream determineKeyRingInputStream(CamelContext context, String filename, byte[] keyRing, boolean forEncryption) throws IOException { if (filename != null && keyRing != null) { String encryptionOrSignature; if (forEncryption) { encryptionOrSignature = "encryption"; } else { encryptionOrSignature = "signature"; } throw new IllegalStateException(String.format("Either specify %s file name or key ring byte array. You can not specify both.", encryptionOrSignature)); } InputStream is; if (keyRing != null) { is = new ByteArrayInputStream(keyRing); } else { is = ResourceHelper.resolveMandatoryResourceAsInputStream(context, filename); } return is; }
if (ObjectHelper.isNotEmpty(uri)) { uri = camelContext.resolvePropertyPlaceholders(uri); try (InputStream is = ResourceHelper.resolveMandatoryResourceAsInputStream(camelContext, uri)) { Properties properties = new Properties(); properties.load(is); ObjectHelper.ifNotEmpty(configuration.getStorageLevel(), storageBuilder::withStorageLevel); ObjectHelper.ifNotEmpty(configuration.getStoragePath(), storageBuilder::withDirectory); camelContext.getInjector().newInstance(configuration.getTransport()) ); camelContext.getInjector().newInstance(configuration.getClientTransport()) );
public SSLContext createSSLContext(ClassResolver classResolver, String keyStoreFormat, String securityProvider, String keyStoreResource, String trustStoreResource, char[] passphrase) throws Exception { SSLContext answer; KeyStore ks = KeyStore.getInstance(keyStoreFormat); InputStream is = ResourceHelper.resolveMandatoryResourceAsInputStream(classResolver, keyStoreResource); try { ks.load(is, passphrase); } finally { IOHelper.close(is); } KeyManagerFactory kmf = KeyManagerFactory.getInstance(securityProvider); kmf.init(ks, passphrase); answer = SSLContext.getInstance(SSL_PROTOCOL); if (trustStoreResource != null) { KeyStore ts = KeyStore.getInstance(keyStoreFormat); is = ResourceHelper.resolveMandatoryResourceAsInputStream(classResolver, trustStoreResource); try { ts.load(is, passphrase); } finally { IOHelper.close(is); } TrustManagerFactory tmf = TrustManagerFactory.getInstance(securityProvider); tmf.init(ts); answer.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null); } else { answer.init(kmf.getKeyManagers(), null, null); } return answer; }