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");
        }
Esempio n. 2
0
        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");
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
 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");
        }