public SnapshotTableColumnNames(Configuration.Config config) { var compat = (config.GetString("table-compatibility-mode", "") ?? "").ToLower(); string colString; switch (compat) { case "sqlserver": colString = "sql-server-compat-column-names"; break; case "sqlite": colString = "sqlite-compat-column-names"; break; case "postgres": colString = "postgres-compat-column-names"; break; default: colString = "column-names"; break; } var cfg = config .GetConfig($"tables.snapshot.{colString}").SafeWithFallback( ConfigurationFactory.ParseString(FallBack).GetConfig($"tables.snapshot.{colString}")); PersistenceId = cfg.GetString("persistenceId", "persistence_id"); SequenceNumber = cfg.GetString("sequenceNumber", "sequence_number"); Created = cfg.GetString("created", "created"); Snapshot = cfg.GetString("snapshot", "snapshot"); Manifest = cfg.GetString("manifest", "manifest"); SerializerId = cfg.GetString("serializerId", "serializer_id"); }
public MetadataTableColumnNames(Configuration.Config config) { var compat = (config.GetString("table-compatibility-mode", "") ?? "").ToLower(); string colString; switch (compat) { case "sqlserver": colString = "sqlserver-compat-metadata-column-names"; break; case "sqlite": colString = "sqlite-compat-metadata-column-names"; break; case "postgres": colString = "postgres-compat-metadata-column-names"; break; default: colString = "metadata-column-names"; break; } var cfg = config .GetConfig($"tables.journal.{colString}").SafeWithFallback( ConfigurationFactory.ParseString(FallBack).GetConfig($"tables.journal.{colString}")); //var cfg = config.GetConfig("tables.journal.metadata-column-names").SafeWithFallback(ConfigurationFactory.ParseString(FallBack).GetConfig("tables.journal.metadata-column-names")); PersistenceId = cfg.GetString("PersistenceId", "PersistenceId"); SequenceNumber = cfg.GetString("sequenceNumber", "sequenceNr"); }
public SnapshotTableConfiguration(Configuration.Config config) { var localcfg = config.GetConfig("tables.snapshot") .SafeWithFallback(config).SafeWithFallback(Configuration.Config.Empty); ColumnNames = new SnapshotTableColumnNames(config); TableName = config.GetString("table-name", localcfg.GetString("table-name", "snapshot")); SchemaName = localcfg.GetString("schema-name", null); AutoInitialize = localcfg.GetBoolean("auto-init", false); WarnOnAutoInitializeFail = localcfg.GetBoolean("warn-on-auto-init-fail", true); }
public static Dictionary <string, ServiceDiscovery.Resolved> Parse(Configuration.Config config) { return(config.AsEnumerable() .Select(pair => (pair.Key, config.GetConfig(pair.Key))) .ToDictionary(pair => pair.Key, pair => { var(serviceName, full) = pair; var endpoints = full.GetStringList("endpoints"); var resolvedTargets = endpoints.Select(e => { var values = e.Split(':'); return new ServiceDiscovery.ResolvedTarget(values[0], int.TryParse(values.Skip(1).FirstOrDefault(), out var i) ? i : default(int?)); }).ToArray(); return new ServiceDiscovery.Resolved(serviceName, resolvedTargets); }));
public JournalTableConfig(Configuration.Config config) { var localcfg = config.GetConfig("tables.journal") .SafeWithFallback(config) //For easier compatibility with old cfgs. .SafeWithFallback(Configuration.Config.Empty); ColumnNames = new JournalTableColumnNames(config); MetadataColumnNames = new MetadataTableColumnNames(config); TableName = localcfg.GetString("table-name", "journal"); MetadataTableName = localcfg.GetString("metadata-table-name", "journal_metadata"); SchemaName = localcfg.GetString("schema-name", null); AutoInitialize = localcfg.GetBoolean("auto-init", false); WarnOnAutoInitializeFail = localcfg.GetBoolean("warn-on-auto-init-fail", true); }
public JournalTableColumnNames(Configuration.Config config) { var compat = (config.GetString("table-compatibility-mode", "") ?? "").ToLower(); string colString; switch (compat) { case "sqlserver": colString = "sqlserver-compat-column-names"; break; case "sqlite": colString = "sqlite-compat-column-names"; break; case "postgres": colString = "postgres-compat-column-names"; break; default: colString = "column-names"; break; } var cfg = config .GetConfig($"tables.journal.{colString}").SafeWithFallback( ConfigurationFactory.ParseString(FallBack).GetConfig($"tables.journal.{colString}")); Ordering = cfg.GetString("ordering", "ordering"); Deleted = cfg.GetString("deleted", "deleted"); PersistenceId = cfg.GetString("PersistenceId", "persistence_id"); SequenceNumber = cfg.GetString("sequenceNumber", "sequence_number"); Created = cfg.GetString("created", "created"); Tags = cfg.GetString("tags", "tags"); Message = cfg.GetString("message", "message"); Identitifer = cfg.GetString("identifier", "identifier"); Manifest = cfg.GetString("manifest", "manifest"); }