public static void ValidateConfiguration(IndexConfiguration configuration) { if (configuration == null) { throw new Exception("Index Configuration cannot be null."); } if (configuration.Name == null) { throw new Exception("Index Name cannot be null."); } if (configuration.Name.Trim() == "") { throw new Exception("Index Name cannot be empty string."); } IndexAttribute.ValidateConfiguration(configuration.Attributes); if (configuration.CachePolicy != null && configuration.CachePolicy.Trim() != "") { if (!configuration.CachePolicy.Equals("Recent", StringComparison.OrdinalIgnoreCase) && !configuration.CachePolicy.Equals("All", StringComparison.OrdinalIgnoreCase) && !configuration.CachePolicy.Equals("None", StringComparison.OrdinalIgnoreCase)) { throw new Exception("Invalid Cache Policy '" + configuration.CachePolicy + "' specified for index."); } } }
public void AddIndex(IndexConfiguration index) { lock (IndexConfigurations) { IndexConfigurations.Add(index.IndexName, index); } }
public void AddIndex(string name, IndexConfiguration index) { lock (IndexConfigurations) { IndexConfigurations.Add(name, index); } }
public object Clone() { IndexConfiguration config = new IndexConfiguration(); config.Name = Name; config.Attributes = Attributes != null ? (IndexAttribute)Attributes.Clone(): null; config.CachePolicy = _cachePolicy; config.JournalEnabled = _journalEnabled; return(config); }
public static void ValidateConfiguration(Indices configuration) { if (configuration == null) { throw new Exception("Indices cannot be null."); } foreach (var pair in configuration.IndexConfigurations) { if (pair.Key == null) { throw new Exception("Index Name cannot be null."); } if (pair.Key.Trim() == "") { throw new Exception("Index Name cannot be empty string."); } IndexConfiguration.ValidateConfiguration(pair.Value); } }