public object Clone() { DistributionStrategyConfiguration distributionStrategyConfig = new DistributionStrategyConfiguration(); distributionStrategyConfig.Name = Name; distributionStrategyConfig.ShardKeyType = ShardKeyType; return(distributionStrategyConfig); }
public static void ValidateConfiguration(DistributionStrategyConfiguration configuration) { if (configuration == null) { throw new Exception("Distribution Strategy cannot be null."); } if (configuration.Name == null) { throw new Exception("Distribution Strategy Name cannot be null."); } if (configuration.Name.Trim() == "") { throw new Exception("Distribution Strategy Name cannot be empty string."); } if (!configuration.Name.Equals(DistributionType.NonSharded.ToString(), StringComparison.OrdinalIgnoreCase)) { throw new Exception("Invalid Distribution Type '" + configuration.Name + "' specified."); } }
public static void ValidateConfiguration(CollectionConfiguration configuration) { if (configuration == null) { throw new Exception("Collection Configuration cannot be null."); } if (configuration.CollectionName == null) { throw new Exception("Collection Name cannot be null."); } if (configuration.CollectionName.Trim() == "") { throw new Exception("Collection Name cannot be empty string."); } //TODO Validate valid collection type and distribution configuration DistributionStrategyConfiguration.ValidateConfiguration(configuration.DistributionStrategy); //Optionals if (configuration.PartitionKey != null) { PartitionKeyConfiguration.ValidateConfiguration(configuration.PartitionKey); } if (configuration.Caching != null) { CachingConfiguration.ValidateConfiguration(configuration.Caching); } if (configuration.EvictionConfiguration != null) { EvictionConfiguration.ValidateConfiguration(configuration.EvictionConfiguration); } if (configuration.Indices != null) { Indices.ValidateConfiguration(configuration.Indices); } }