public object Clone() { PartitionKeyConfiguration partitionKeyConfiguration = new PartitionKeyConfiguration(); partitionKeyConfiguration.PartitionKeyAttributes = PartitionKeyAttributes != null ? new Dictionary <string, PartitionKeyConfigurationAttribute>(_partitionKeyConfs) : null; return(partitionKeyConfiguration); }
public static void ValidateConfiguration(PartitionKeyConfiguration configuration) { if (configuration == null) { throw new Exception("PartitionKey Configuration cannot be null."); } foreach (var pair in configuration.PartitionKeyAttributes) { if (pair.Key == null) { throw new Exception("ParitionKey Attribute Key cannot be null."); } if (pair.Key.Trim() == "") { throw new Exception("PartitionKey Attribute Key cannot be empty string."); } PartitionKeyConfigurationAttribute.ValidateConfiguration(pair.Value); } }
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); } }