public MongoClient get()

in library/camel-kamelets-utils/src/main/java/org/apache/camel/kamelets/utils/mongodb/SslAwareMongoClient.java [67:97]


        public MongoClient get() {
            String credentials = username == null ? "" : username;

            if (!credentials.equals("")) {
                credentials += password == null ? "@" : ":" + password + "@";
            }

            MongoClientSettings settings = MongoClientSettings.builder()
                    .applyToSslSettings(builder -> {
                        builder.enabled(ssl);
                        if (!sslValidationEnabled) {
                            builder.invalidHostNameAllowed(true);
                            SSLContext sc = null;
                            try {
                                sc = SSLContext.getInstance("SSL");
                            } catch (NoSuchAlgorithmException e) {
                                throw new RuntimeException("Error instantiating trust all SSL context.", e);
                            }
                            try {
                                sc.init(null, trustAllCerts, new java.security.SecureRandom());
                            } catch (KeyManagementException e) {
                                throw new RuntimeException("Error instantiating trust all SSL context.", e);
                            }
                            builder.context(sc);
                        }
                    })
                    .applyConnectionString(new ConnectionString(String.format("mongodb://%s%s", credentials, hosts)))
                    .build();
            LOG.info("Connection created using provided credentials");
            return MongoClients.create(settings);
        }