예제 #1
0
파일: FilesStore.cs 프로젝트: lahma/ravendb
        private void HandleConnectionStringOptions()
        {
            var parser = ConnectionStringParser <FilesConnectionStringOptions> .FromConnectionStringName(ConnectionStringName);

            parser.Parse();

            var options = parser.ConnectionStringOptions;

            if (options.Credentials != null)
            {
                this.Credentials = options.Credentials;
            }
            if (string.IsNullOrEmpty(options.Url) == false)
            {
                this.Url = options.Url;
            }
            if (string.IsNullOrEmpty(options.DefaultFileSystem) == false)
            {
                this.DefaultFileSystem = options.DefaultFileSystem;
            }
            if (string.IsNullOrEmpty(options.ApiKey) == false)
            {
                this.ApiKey = options.ApiKey;
            }
        }
예제 #2
0
        /// <summary>
        /// Create the connection string parser
        /// </summary>
        protected override RavenConnectionStringOptions GetConnectionStringOptions()
        {
            var parser = ConnectionStringParser <EmbeddedRavenConnectionStringOptions> .FromConnectionStringName(ConnectionStringName);

            parser.Parse();
            return(parser.ConnectionStringOptions);
        }
예제 #3
0
        /// <summary>
        /// Create the connection string parser
        /// </summary>
        protected virtual RavenConnectionStringOptions GetConnectionStringOptions()
        {
            var connectionStringOptions = ConnectionStringParser <RavenConnectionStringOptions> .FromConnectionStringName(connectionStringName);

            connectionStringOptions.Parse();
            return(connectionStringOptions.ConnectionStringOptions);
        }
예제 #4
0
        public static IDocumentStore FromConnectionStringName(string connectionStringName)
        {
            var connectionStringParser =
                ConnectionStringParser <RavenConnectionStringOptions> .FromConnectionStringName(connectionStringName);

            return(GetDocumentStore(connectionStringParser));
        }
예제 #5
0
        private static RavenConnectionStringOptions GetConnectionOptions(ReplicationDestination x)
        {
            if (string.IsNullOrEmpty(x.ConnectionStringName))
            {
                return new RavenConnectionStringOptions
                       {
                           Url = x.Url
                       }
            }
            ;

            var connectionStringParser = ConnectionStringParser <RavenConnectionStringOptions> .FromConnectionStringName(x.ConnectionStringName);

            connectionStringParser.Parse();
            var options = connectionStringParser.ConnectionStringOptions;

            if (string.IsNullOrEmpty(options.Url))
            {
                throw new InvalidOperationException("Could not figure out what the replication URL is");
            }
            if (string.IsNullOrEmpty(options.DefaultDatabase) == false)
            {
                if (options.Url.EndsWith("/") == false)
                {
                    options.Url += "/";
                }
                options.Url += "databases/" + options.DefaultDatabase;
            }
            return(options);
        }
    }
예제 #6
0
        private DocumentStoreFactory()
        {
            var parser = ConnectionStringParser <RavenConnectionStringOptions>
                         .FromConnectionStringName("Brnkly.Raven.Config");

            parser.Parse();
            var connection = parser.ConnectionStringOptions;

            var url = new Uri(connection.Url);

            EnsureUriPathIncludesDatabase(url);
            this.operationsStoreUrl = url;
        }
예제 #7
0
        public KatushaRavenStore(string connectionName = "RavenDB")
        {
            var parser = ConnectionStringParser <RavenConnectionStringOptions> .FromConnectionStringName(connectionName);

            parser.Parse();

            ApiKey = parser.ConnectionStringOptions.ApiKey;
            Url    = parser.ConnectionStringOptions.Url;
            //RavenStore = new EmbeddableDocumentStore { DataDirectory = DependencyHelper.RootFolder + @"App_Data\MS.Katusha.RavenDB", UseEmbeddedHttpServer = true };
            Initialize();
            try {
                Create();
            } catch { }
        }
        private static void InitializeDocumentStore()
        {
            if (DocumentStore != null)
            {
                return;                        // prevent misuse
            }
            var parser = ConnectionStringParser <RavenConnectionStringOptions> .FromConnectionStringName("RavenDB");

            parser.Parse();

            DocumentStore = new DocumentStore
            {
                ApiKey = parser.ConnectionStringOptions.ApiKey,
                Url    = parser.ConnectionStringOptions.Url
            }.Initialize();
        }
예제 #9
0
        private static ReplicationStrategy CreateReplicationStrategyFromConnectionString(ReplicationDestination x, ReplicationStrategy replicationStrategy)
        {
            var connectionStringParser = ConnectionStringParser <RavenConnectionStringOptions> .FromConnectionStringName(x.ConnectionStringName);

            connectionStringParser.Parse();
            var options = connectionStringParser.ConnectionStringOptions;

            if (string.IsNullOrEmpty(options.Url))
            {
                throw new InvalidOperationException("Could not figure out what the replication URL is");
            }
            if (string.IsNullOrEmpty(options.DefaultDatabase) == false)
            {
                options.Url += "/databases/" + options.DefaultDatabase;
            }
            replicationStrategy.ConnectionStringOptions = options;
            return(replicationStrategy);
        }
예제 #10
0
        private static DocumentStore GetDocumentStore()
        {
            var parser = ConnectionStringParser <RavenConnectionStringOptions> .FromConnectionStringName("RavenDB");

            parser.Parse();
            var store = new DocumentStore
            {
                ApiKey = parser.ConnectionStringOptions.ApiKey,
                Url    = parser.ConnectionStringOptions.Url,
            };

            //_store = new DocumentStore { ConnectionStringName = DatabaseName };
            store.Initialize();
            store.Conventions.IdentityPartsSeparator = "-";
            //store.DatabaseCommands.EnsureDatabaseExists("RavenDb");
            //Raven.Client.MvcIntegration.RavenProfiler.InitializeFor(store);
            return(store);
        }
예제 #11
0
        protected void HandleConnectionStringOptions()
        {
            var parser = ConnectionStringParser <EmbeddedRavenConnectionStringOptions> .FromConnectionStringName(ConnectionStringName);

            parser.Parse();
            var options = parser.ConnectionStringOptions;

            if (options.ResourceManagerId != Guid.Empty)
            {
                ResourceManagerId = options.ResourceManagerId;
            }
            if (options.Credentials != null)
            {
                Credentials = options.Credentials;
            }
            if (string.IsNullOrEmpty(options.Url) == false)
            {
                Url = options.Url;
            }
            if (string.IsNullOrEmpty(options.DefaultDatabase) == false)
            {
                DefaultDatabase = options.DefaultDatabase;
            }
            if (string.IsNullOrEmpty(options.ApiKey) == false)
            {
                ApiKey = options.ApiKey;
            }

            EnlistInDistributedTransactions = options.EnlistInDistributedTransactions;
            var embeddedRavenConnectionStringOptions = parser.ConnectionStringOptions as EmbeddedRavenConnectionStringOptions;

            if (embeddedRavenConnectionStringOptions == null)
            {
                return;
            }

            if (string.IsNullOrEmpty(embeddedRavenConnectionStringOptions.DataDirectory) == false)
            {
                DataDirectory = embeddedRavenConnectionStringOptions.DataDirectory;
            }

            RunInMemory = embeddedRavenConnectionStringOptions.RunInMemory;
        }
예제 #12
0
        private static void RavenDBInit()
        {
            var parser = ConnectionStringParser <RavenConnectionStringOptions> .FromConnectionStringName("RavenDB");

            parser.Parse();

            Store = new DocumentStore
            {
                ApiKey = parser.ConnectionStringOptions.ApiKey,
                Url    = parser.ConnectionStringOptions.Url,
            };

            Store.Initialize();

            IndexCreation.CreateIndexes(Assembly.GetCallingAssembly(), Store);

            Thread.CurrentThread.CurrentCulture   = CultureInfo.InvariantCulture;
            Thread.CurrentThread.CurrentUICulture = CultureInfo.InvariantCulture;
        }
예제 #13
0
        private ReplicationStrategy GetConnectionOptions(ReplicationDestination x)
        {
            var replicationStrategy = new ReplicationStrategy
            {
                ReplicationOptionsBehavior = x.TransitiveReplicationBehavior,
                CurrentDatabaseId          = docDb.TransactionalStorage.Id.ToString()
            };

            if (string.IsNullOrEmpty(x.ConnectionStringName))
            {
                replicationStrategy.ConnectionStringOptions = new RavenConnectionStringOptions
                {
                    Url = x.Url
                };
                return(replicationStrategy);
            }

            var connectionStringParser = ConnectionStringParser <RavenConnectionStringOptions> .FromConnectionStringName(x.ConnectionStringName);

            connectionStringParser.Parse();
            var options = connectionStringParser.ConnectionStringOptions;

            if (string.IsNullOrEmpty(options.Url))
            {
                throw new InvalidOperationException("Could not figure out what the replication URL is");
            }
            if (string.IsNullOrEmpty(options.DefaultDatabase) == false)
            {
                if (options.Url.EndsWith("/") == false)
                {
                    options.Url += "/";
                }
                options.Url += "databases/" + options.DefaultDatabase;
            }
            replicationStrategy.ConnectionStringOptions = options;
            return(replicationStrategy);
        }
예제 #14
0
        protected virtual RavenConnectionStringOptions GetConnectionStringOptions()
        {
            ConnectionStringParser <RavenConnectionStringOptions> connectionStringParser = ConnectionStringParser <RavenConnectionStringOptions> .FromConnectionStringName(this.connectionStringName);

            connectionStringParser.Parse();
            return(connectionStringParser.ConnectionStringOptions);
        }