Exemple #1
0
        public object Clone()
        {
            EvictionConfiguration evictConfiguration = new EvictionConfiguration();

            evictConfiguration.EnabledEviction = EnabledEviction;
            evictConfiguration.Policy          = Policy;
            return(evictConfiguration);
        }
Exemple #2
0
        public static void ValidateConfiguration(EvictionConfiguration configuration)
        {
            if (configuration == null)
            {
                throw new Exception("Eviction Configuration cannot be null.");
            }

            //if (configuration.Policy != null)
            //{
            //TODO Eviction Policy Values LRU and ??
            //}
        }
        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);
            }
        }
        public object Clone()
        {
            CollectionConfiguration cConfiguration = new CollectionConfiguration();

            cConfiguration.Indices = Indices != null ? (Indices)Indices.Clone() : null;
            cConfiguration.Caching = Caching != null?Caching.Clone() as CachingConfiguration : null;

            cConfiguration.CollectionSize        = CollectionSize;
            cConfiguration.MaxDocuments          = MaxDocuments;
            cConfiguration.Shard                 = Shard;
            cConfiguration.EvictionConfiguration = EvictionConfiguration != null ? (EvictionConfiguration)EvictionConfiguration.Clone() : null;
            cConfiguration.PartitionKey          = PartitionKey;
            cConfiguration.Path = Path;
            return(cConfiguration);
        }