@Override public HazelcastBucketManagerFactory get(Settings settings) { requireNonNull(settings, "settings is required"); Map<String, String> configurations = new HashMap<>(); settings.forEach((key, value) -> configurations.put(key, value.toString())); return get(configurations); } }
private String getValue(Settings settings, String key) { return ofNullable(settings.get(key)).map(Object::toString).orElse(null); } }
@Override public <T> ConfigurationSettingsUnit read(ConfigurationUnit annotation, Class<T> configurationClass) { requireNonNull(annotation, "annotation is required"); requireNonNull(configurationClass, "configurationClass is required"); List<Configurable> configurations = getConfigurations(annotation); Configurable configuration = getConfiguration(annotation, configurations); String name = configuration.getName(); String description = configuration.getDescription(); Map<String, Object> settings = getSettings(configuration); Class<?> provider = getProvider(configurationClass, configuration); return new DefaultConfigurationSettingsUnit(name, description, provider, Settings.of(settings)); }
@Override public <T> ConfigurationSettingsUnit read(ConfigurationUnit annotation) { requireNonNull(annotation, "annotation is required"); List<Configurable> configurations = getConfigurations(annotation); Configurable configuration = getConfiguration(annotation, configurations); String name = configuration.getName(); String description = configuration.getDescription(); Map<String, Object> settings = getSettings(configuration); return new DefaultConfigurationSettingsUnit(name, description, null, Settings.of(settings)); }
@Override public CouhbaseDocumentCollectionManagerFactory get(Settings settings) throws NullPointerException { requireNonNull(settings, "settings is required"); Map<String, String> configurations = new HashMap<>(); settings.forEach((key, value) -> configurations.put(key, value.toString())); List<String> hosts = new ArrayList<>(); configurations.keySet() .stream() .filter(k -> k.startsWith(COUCHBASE_HOST)) .sorted() .map(configurations::get) .forEach(this::add); String user = configurations.get(COUCHBASE_USER); String password = configurations.get(COUCHBASE_PASSWORD); return new CouhbaseDocumentCollectionManagerFactory(CouchbaseCluster.create(hosts), user, password); }
static void load(Settings settings, ArangoDBBuilder arangoDB) { ofNullable(settings.get(USER)).map(Object::toString).ifPresent(arangoDB::user); ofNullable(settings.get(PASSWORD)).map(Object::toString).ifPresent(arangoDB::password); ofNullable(settings.get(TIMEOUT)).map(Object::toString).map(Integer::valueOf).ifPresent(arangoDB::timeout); ofNullable(settings.get(CHUNK_CONTENT_SIZE)).map(Object::toString).map(Integer::valueOf) .ifPresent(arangoDB::chunksize); ofNullable(settings.get(MAX_CONNECTIONS)).map(Object::toString).map(Integer::valueOf) .ifPresent(arangoDB::maxConnections); ofNullable(settings.get(USER_SSL)).map(Object::toString).map(Boolean::valueOf) .ifPresent(arangoDB::useSsl); ofNullable(settings.get(ACQUIRE_HOST_LIST)).map(Object::toString).map(Boolean::valueOf) .ifPresent(arangoDB::acquireHostList); ofNullable(settings.get(LOAD_BALANCING_STRATEGY)).map(Object::toString).map(LoadBalancingStrategy::valueOf) .ifPresent(arangoDB::loadBalancingStrategy); ofNullable(settings.get(PROTOCOL)).map(Object::toString).map(Protocol::valueOf) .ifPresent(arangoDB::useProtocol); ofNullable(settings.get(KEY_HOSTS)).map(Object::toString) .map(ArangoDBHost::new).map(ArangoDBHost::getHost) .ifPresent(l ->feed(l, arangoDB)); }
@Override public CouchbaseBucketManagerFactory get(Settings settings) { requireNonNull(settings, "settings is required"); Map<String, String> configurations = new HashMap<>(); settings.forEach((key, value) -> configurations.put(key, value.toString())); List<String> hosts = new ArrayList<>(); configurations.keySet() .stream() .filter(k -> k.startsWith(COUCHBASE_HOST)) .sorted() .map(configurations::get) .forEach(this::add); String user = configurations.get(COUCHBASE_USER); String password = configurations.get(COUCHBASE_PASSWORD); return new DefaultCouchbaseBucketManagerFactory(CouchbaseCluster.create(hosts), user, password); } }