Beispiel #1
0
        public void FilePostgresResolutionWorks()
        {
            var t = Type.GetType("Npgsql.NpgsqlConnection, Npgsql", false);

            if (null == t)
            {
                Assert.Ignore("no npgsql for postgress test found - clone Npgsql2 submodule https://github.com/comdiv/Npgsql2.git");
            }
            var container = getcontainer();

            container.GetLoader().Load <FileBasedConnectionProviderExtension>();
            var files = container.Get <IFileNameResolver>();
            var file  = files.Resolve(FileSearchQuery.Leveled("~/usr/mycon.db-connection"));

            Directory.CreateDirectory(Path.GetDirectoryName(file));
            File.WriteAllText(file, "con1 pgsql 'Server=127.0.0.1;Port=5432;Integrated Security=True;Database=zetatest;'");
            var conp = container.Get <IDatabaseConnectionProvider>();
            var c1   = conp.GetConnection("con1");

            //c1.BeginObject();
            Console.WriteLine(c1.ConnectionString);
            Assert.AreEqual("NpgsqlConnection", c1.GetType().Name);
            //Assert.IsInstanceOf<Npgsql.NpgsqlConnection>(c1);
            File.Delete(file);
        }
Beispiel #2
0
        private string GetFileName(string name)
        {
            var filename =
                Container.Get <IFileNameResolver>().Resolve(FileSearchQuery.Leveled("~/usr/" + name + ".fbcrp.db-connection"));

            return(filename);
        }
 /// <summary>
 ///     Creates the default application.
 /// </summary>
 /// <returns> </returns>
 /// <remarks>
 /// </remarks>
 public IApplication CreateDefaultApplication(Type applicationImplementationType = null)
 {
     lock (EnvironmentInfo.Sync){
         var applicationtype = applicationImplementationType ?? ResolveApplicationType();
         var application     = (IApplication)Activator.CreateInstance(applicationtype);
         application.Container = ContainerFactory.CreateDefault();
         var files = application.Container.Get <IFileNameResolver>();
         if (null != files && (EnvironmentInfo.IsWeb || Environment.CommandLine.Contains("--containerdump")))
         {
             ContainerFactory.DumpContainer(application.Container,
                                            application.Container.Get <IFileNameResolver>().Resolve(
                                                FileSearchQuery.Leveled("~/.tmp/container.dump")));
         }
         return(application);
     }
 }
Beispiel #4
0
        public void FileBasedResolutionWorks()
        {
            var container = getcontainer();

            container.GetLoader().Load <FileBasedConnectionProviderExtension>();
            var files = container.Get <IFileNameResolver>();
            var file  = files.Resolve(FileSearchQuery.Leveled("~/usr/mycon.db-connection"));

            Directory.CreateDirectory(Path.GetDirectoryName(file));
            File.WriteAllText(file, "con1 mssql 'Data Source=(local1);Initial Catalog=db;'\r\ncon2 'Data Source=(local2);Initial Catalog=db2;'");
            var conp = container.Get <IDatabaseConnectionProvider>();
            var c1   = conp.GetConnection("con1");

            Assert.AreEqual("Data Source=(local1);Initial Catalog=db;", c1.ConnectionString);
            var c2 = conp.GetConnection("con2");

            Assert.AreEqual("Data Source=(local2);Initial Catalog=db2;", c2.ConnectionString);
            File.Delete(file);
        }
 /// <summary>
 /// Возвращает все подходящие файлы
 /// </summary>
 /// <param name="query"></param>
 /// <returns></returns>
 public string[] ResolveAll(FileSearchQuery query)
 {
     return(_resolvers.SelectMany(_ => _.ResolveAll(query)).Distinct().ToArray());
 }
 /// <summary>
 /// Определение наиболее подходящего файла
 /// </summary>
 /// <param name="query"></param>
 /// <returns></returns>
 public string Resolve(FileSearchQuery query)
 {
     return(_resolvers.Select(_ => _.Resolve(query)).FirstOrDefault(_ => !string.IsNullOrWhiteSpace(_)));
 }
Beispiel #7
0
 /// <summary>
 /// Определяет имя файла в текущей файловой системе, текущем контексте
 /// </summary>
 /// <param name="name">Имя файла</param>
 /// <param name="existed"> </param>
 /// <param name="resolvetype">тип файла</param>
 /// <returns> </returns>
 public string ResolveFileName(string name, bool existed        = true,
                               FileSearchResultType resolvetype = FileSearchResultType.FullPath)
 {
     return(FileNameResolver.Resolve(FileSearchQuery.Leveled(name, existed, resolvetype)));
 }