示例#1
0
        private static ReplicationStrategy GetReplicationStrategyFromConfiguration(string keyspaceName)
        {
            if (Configuration.ConfigurationFileExists())
            {
                var configuration = Configuration.GetConfiguration()
                                    .FromJson <Dictionary <string, Dictionary <string, object> > >()
                                    .GetValue("keyspaces", new Dictionary <string, object>());

                if (configuration.GetValue(keyspaceName) != null)
                {
                    return(ReplicationStrategy.FromSortedDictionary(new SortedDictionary <string, string>((configuration[keyspaceName] as Dictionary <string, object>).ToDictionary(kv => kv.Key, kv => kv.Value as string))));
                }
                else if (configuration.GetValue(Configuration.DefaultKeyspaceKey) != null)
                {
                    return(ReplicationStrategy.FromSortedDictionary(new SortedDictionary <string, string>((configuration[Configuration.DefaultKeyspaceKey] as Dictionary <string, object>).ToDictionary(kv => kv.Key, kv => kv.Value as string))));
                }
                else
                {
                    return(CreateSimpleStrategy(1)); //Default if the the keyspace name is not present and there is no default
                }
            }
            else
            {
                return(CreateSimpleStrategy(1)); //Default if the file is not present
            }
        }
示例#2
0
        private static ReplicationStrategy GetReplicationStrategyFromConfiguration(string keyspaceName)
        {
            if (Configuration.ConfigurationFileExists())
            {
                var keyspaces = JSON.Parse(Configuration.GetConfiguration()).Linq
                                .SingleOrDefault(x => x.Key.Equals("keyspaces", StringComparison.OrdinalIgnoreCase)).Value?.Linq
                                .ToDictionary(x => x.Key, x => x.Value, StringComparer.OrdinalIgnoreCase);

#pragma warning disable CS8620
                if (keyspaces?.GetValue(keyspaceName) != null)
                {
                    return(ReplicationStrategy.FromSortedDictionary(new SortedDictionary <string, string>((keyspaces[keyspaceName].Linq.ToDictionary(x => x.Key, x => x.Value.Value)))));
                }
                else if (keyspaces?.GetValue(Configuration.DefaultKeyspaceKey) != null)
#pragma warning restore CS8620
                {
                    return(ReplicationStrategy.FromSortedDictionary(new SortedDictionary <string, string>((keyspaces[Configuration.DefaultKeyspaceKey].Linq.ToDictionary(x => x.Key, x => x.Value.Value)))));
                }
                else
                {
                    return(CreateSimpleStrategy(1)); //Default if the the keyspace name is not present and there is no default
                }
            }
            else
            {
                return(CreateSimpleStrategy(1)); //Default if the file is not present
            }
        }
示例#3
0
        public static CassandraKeyspace Retreive(string keyspaceName, WrappedConnection wrappedConnection)
        {
            var replication = wrappedConnection.Query <SortedDictionary <string, string> >($"select replication from system_schema.keyspaces where keyspace_name = '{keyspaceName}'");

            if (replication == null || !replication.Any())
            {
                return(new CassandraKeyspace(keyspaceName, GetReplicationStrategyFromConfiguration(keyspaceName), wrappedConnection));
            }

            return(new CassandraKeyspace(keyspaceName, ReplicationStrategy.FromSortedDictionary(replication), wrappedConnection));
        }
示例#4
0
        private static ReplicationStrategy GetReplicationStrategyFromConfiguration(string keyspaceName)
        {
            if (Configuration.ConfigurationFileExists())
            {
                var configuration = JObject.Parse(Configuration.GetConfiguration())["keyspaces"];

                if (configuration[keyspaceName] != null)
                {
                    return(ReplicationStrategy.FromSortedDictionary(configuration[keyspaceName].ToObject <SortedDictionary <string, string> >()));
                }
                else if (configuration[Configuration.DefaultKeyspaceKey] != null)
                {
                    return(ReplicationStrategy.FromSortedDictionary(configuration[Configuration.DefaultKeyspaceKey].ToObject <SortedDictionary <string, string> >()));
                }
                else
                {
                    return(CreateSimpleStrategy(1)); //Default if the the keyspace name is not present and there is no default
                }
            }
            else
            {
                return(CreateSimpleStrategy(1)); //Default if the file is not present
            }
        }