Skip to content

Commit

Permalink
Updates configuration
Browse files Browse the repository at this point in the history
  • Loading branch information
otaviojava committed Apr 22, 2019
1 parent e422a86 commit 2099827
Showing 1 changed file with 17 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -17,24 +17,29 @@

import com.basho.riak.client.core.RiakCluster;
import com.basho.riak.client.core.RiakNode;
import org.jnosql.diana.api.Configurations;
import org.jnosql.diana.api.Settings;
import org.jnosql.diana.api.SettingsBuilder;
import org.jnosql.diana.api.key.KeyValueConfiguration;
import org.jnosql.diana.driver.ConfigurationReader;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import static java.util.Arrays.asList;
import static java.util.Objects.requireNonNull;

/**
* The riak implementation to {@link KeyValueConfiguration} that returns {@link RiakBucketManagerFactory}.
* It tries to read diana-riak.properties file.
* <p>riak-server-host-: The prefix to host. eg: riak-server-host-1= host1</p>
* <p>riak.host-: The prefix to host. eg: riak-server-host-1= host1</p>
*/
public class RiakKeyValueConfiguration implements KeyValueConfiguration<RiakBucketManagerFactory> {

private static final String SERVER_PREFIX = "riak-server-host-";
@Deprecated
private static final String OLD_SERVER_PREFIX = "riak-server-host-";
private static final String SERVER_PREFIX = "riak.host";

private static final String FILE_CONFIGURATION = "diana-riak.properties";

Expand All @@ -46,11 +51,15 @@ public class RiakKeyValueConfiguration implements KeyValueConfiguration<RiakBuck

public RiakKeyValueConfiguration() {
Map<String, String> properties = ConfigurationReader.from(FILE_CONFIGURATION);
properties.keySet().stream()
.filter(k -> k.startsWith(SERVER_PREFIX))
.sorted().map(properties::get)
.forEach(this::add);
SettingsBuilder builder = Settings.builder();

properties.entrySet().forEach(e -> builder.put(e.getKey(), e.getValue()));

Settings settings = builder.build();

settings.prefix(asList(SERVER_PREFIX, OLD_SERVER_PREFIX, Configurations.HOST.get()))
.stream().map(Object::toString)
.forEach(this::add);
}


Expand Down Expand Up @@ -93,9 +102,8 @@ public RiakBucketManagerFactory get(Settings settings) {
requireNonNull(settings, "settings is required");
List<RiakNode> nodes = new ArrayList<>();

settings.keySet().stream()
.filter(k -> k.startsWith(SERVER_PREFIX))
.sorted().map(settings::get)
settings.prefix(asList(SERVER_PREFIX, OLD_SERVER_PREFIX, Configurations.HOST.get()))
.stream()
.map(a -> new RiakNode.Builder()
.withRemoteAddress(a.toString()).build())
.forEach(nodes::add);
Expand Down

0 comments on commit 2099827

Please sign in to comment.