1717
1818import com .basho .riak .client .core .RiakCluster ;
1919import com .basho .riak .client .core .RiakNode ;
20+ import org .jnosql .diana .api .Configurations ;
2021import org .jnosql .diana .api .Settings ;
22+ import org .jnosql .diana .api .SettingsBuilder ;
2123import org .jnosql .diana .api .key .KeyValueConfiguration ;
2224import org .jnosql .diana .driver .ConfigurationReader ;
2325
2426import java .util .ArrayList ;
2527import java .util .List ;
2628import java .util .Map ;
2729
30+ import static java .util .Arrays .asList ;
2831import static java .util .Objects .requireNonNull ;
2932
3033/**
3134 * The riak implementation to {@link KeyValueConfiguration} that returns {@link RiakBucketManagerFactory}.
3235 * It tries to read diana-riak.properties file.
33- * <p>riak-server- host-: The prefix to host. eg: riak-server-host-1= host1</p>
36+ * <p>riak. host-: The prefix to host. eg: riak-server-host-1= host1</p>
3437 */
3538public class RiakKeyValueConfiguration implements KeyValueConfiguration <RiakBucketManagerFactory > {
3639
37- private static final String SERVER_PREFIX = "riak-server-host-" ;
40+ @ Deprecated
41+ private static final String OLD_SERVER_PREFIX = "riak-server-host-" ;
42+ private static final String SERVER_PREFIX = "riak.host" ;
3843
3944 private static final String FILE_CONFIGURATION = "diana-riak.properties" ;
4045
@@ -46,11 +51,15 @@ public class RiakKeyValueConfiguration implements KeyValueConfiguration<RiakBuck
4651
4752 public RiakKeyValueConfiguration () {
4853 Map <String , String > properties = ConfigurationReader .from (FILE_CONFIGURATION );
49- properties .keySet ().stream ()
50- .filter (k -> k .startsWith (SERVER_PREFIX ))
51- .sorted ().map (properties ::get )
52- .forEach (this ::add );
54+ SettingsBuilder builder = Settings .builder ();
55+
56+ properties .entrySet ().forEach (e -> builder .put (e .getKey (), e .getValue ()));
5357
58+ Settings settings = builder .build ();
59+
60+ settings .prefix (asList (SERVER_PREFIX , OLD_SERVER_PREFIX , Configurations .HOST .get ()))
61+ .stream ().map (Object ::toString )
62+ .forEach (this ::add );
5463 }
5564
5665
@@ -93,9 +102,8 @@ public RiakBucketManagerFactory get(Settings settings) {
93102 requireNonNull (settings , "settings is required" );
94103 List <RiakNode > nodes = new ArrayList <>();
95104
96- settings .keySet ().stream ()
97- .filter (k -> k .startsWith (SERVER_PREFIX ))
98- .sorted ().map (settings ::get )
105+ settings .prefix (asList (SERVER_PREFIX , OLD_SERVER_PREFIX , Configurations .HOST .get ()))
106+ .stream ()
99107 .map (a -> new RiakNode .Builder ()
100108 .withRemoteAddress (a .toString ()).build ())
101109 .forEach (nodes ::add );
0 commit comments