コード例 #1
0
            /// <summary>
            /// Set the property value
            /// </summary>
            /// <param name="component">The component to use</param>
            /// <param name="value">The value to set</param>
            public override void SetValue(object component, object value)
            {
                if (PropertyChanged != null)
                {
                    bool   changed = false;
                    object old     = GetValue(component);

                    if (old != null)
                    {
                        if (!old.Equals(value))
                        {
                            changed = true;
                        }
                    }
                    else if (value != null)
                    {
                        changed = true;
                    }

                    if (changed)
                    {
                        PropertyChanged.Invoke(this, new EventArgs());
                    }
                }

                IScriptProvider config = component as IScriptProvider;

                if (config != null)
                {
                    config.Config[_property.Name] = value;
                }
            }
コード例 #2
0
 public void Setup()
 {
     storageProviderMock = new Mock <IStorageProvider>();
     storageProviderMock.Setup(s => s.LoadInputScripts()).Returns(SetTestScripts);
     storageProvider = storageProviderMock.Object;
     provider        = new ScriptProvider(storageProvider);
 }
コード例 #3
0
ファイル: XmlProvider.cs プロジェクト: markus101/SharpNZB
 public XmlProvider(INzbQueueProvider nzbQueue, IHistoryProvider history, ICategoryProvider category, IScriptProvider script)
 {
     _nzbQueue = nzbQueue;
     _history = history;
     _category = category;
     _script = script;
 }
コード例 #4
0
ファイル: ImportController.cs プロジェクト: eitan-j/keysndr
 public ImportController()
 {
     inputConfigProvider = ObjectFactory.GetProvider <IInputConfigProvider>();
     scriptProvider      = ObjectFactory.GetProvider <IScriptProvider>();
     appConfigProvider   = ObjectFactory.GetProvider <IAppConfigProvider>();
     storageProvider     = ObjectFactory.GetProvider <IStorageProvider>();
 }
コード例 #5
0
ファイル: ImportController.cs プロジェクト: samiy-xx/keysndr
 public ImportController(IAppConfigProvider a, IInputConfigProvider i, IScriptProvider s, IStorageProvider t)
 {
     appConfigProvider = a;
     inputConfigProvider = i;
     scriptProvider = s;
     storageProvider = t;
 }
コード例 #6
0
 public PortalController(ITitleProvider titleProvider, IFaviconProvider faviconProvider, IStyleProvider styleProvider, IScriptProvider scriptProvider)
 {
     TitleProvider   = titleProvider;
     FaviconProvider = faviconProvider;
     StyleProvider   = styleProvider;
     ScriptProvider  = scriptProvider;
 }
コード例 #7
0
            public override UpgradeEngine Given()
            {
                scriptProvider = Substitute.For <IScriptProvider>();
                scriptProvider.GetScripts(Arg.Any <IConnectionManager>()).Returns(new List <SqlScript> {
                    new SqlScript("1234", "foo")
                });
                versionTracker = Substitute.For <IJournal>();
                dbConnection   = Substitute.For <IDbConnection>();
                dbCommand      = Substitute.For <IDbCommand>();
                dbConnection.CreateCommand().Returns(dbCommand);
                var connectionManager = new TestConnectionManager(dbConnection);

                scriptExecutor = new SqlScriptExecutor(() => connectionManager, () => Substitute.For <IUpgradeLog>(), null, () => true, null, () => versionTracker);

                var builder = new UpgradeEngineBuilder()
                              .WithScript(new SqlScript("1234", "create table $var$ (Id int)"))
                              .JournalTo(versionTracker)
                              .WithVariable("var", "sub");

                builder.Configure(c => c.ScriptExecutor    = scriptExecutor);
                builder.Configure(c => c.ConnectionManager = connectionManager);

                var upgrader = builder.Build();

                return(upgrader);
            }
コード例 #8
0
ファイル: XmlProvider.cs プロジェクト: kayone/SharpNZB
 public XmlProvider(INzbQueueProvider nzbQueue, IHistoryProvider history, ICategoryProvider category, IScriptProvider script)
 {
     _nzbQueue = nzbQueue;
     _history  = history;
     _category = category;
     _script   = script;
 }
コード例 #9
0
 public SqlQueueFactory(IScriptProvider scriptProvider, IDatabaseContextFactory databaseContextFactory,
                        IDatabaseGateway databaseGateway)
 {
     _scriptProvider         = scriptProvider;
     _databaseContextFactory = databaseContextFactory;
     _databaseGateway        = databaseGateway;
 }
コード例 #10
0
 public SqlQueueFactory()
 {
     configuration = new SubscriptionManagerConfiguration();
     scriptProvider = new ScriptProvider();
     databaseConnectionFactory = DatabaseConnectionFactory.Default();
     databaseGateway = DatabaseGateway.Default();
 }
コード例 #11
0
ファイル: ImportController.cs プロジェクト: eitan-j/keysndr
 public ImportController(IAppConfigProvider a, IInputConfigProvider i, IScriptProvider s, IStorageProvider t)
 {
     appConfigProvider   = a;
     inputConfigProvider = i;
     scriptProvider      = s;
     storageProvider     = t;
 }
コード例 #12
0
 /// <summary>
 /// Initializes a new instance of the <see cref="DatabaseUpgrader"/> class.
 /// </summary>
 public DatabaseUpgrader(string connectionString, IScriptProvider scriptProvider, IVersionTracker versionTracker, IScriptExecutor scriptExecutor)
 {
     _connectionString = connectionString;
     _scriptExecutor = scriptExecutor;
     _versionTracker = versionTracker;
     _scriptProvider = scriptProvider;
 }
コード例 #13
0
            public override UpgradeEngine Given()
            {
                scriptProvider = Substitute.For <IScriptProvider>();
                versionTracker = Substitute.For <IJournal>();
                versionTracker.GetExecutedScripts().Returns(new List <ExecutedSqlScript>
                {
                    new ExecutedSqlScript {
                        Hash = "a", Name = "#1"
                    },
                    new ExecutedSqlScript {
                        Hash = "b", Name = "#2"
                    },
                    new ExecutedSqlScript {
                        Hash = "c", Name = "#3"
                    }
                });
                scriptExecutor = Substitute.For <IScriptExecutor>();

                var config = new UpgradeConfiguration
                {
                    ConnectionManager = new TestConnectionManager(Substitute.For <IDbConnection>())
                };

                config.ScriptProviders.Add(scriptProvider);
                config.ScriptExecutor = scriptExecutor;
                config.Journal        = versionTracker;

                var upgrader = new UpgradeEngine(config);

                return(upgrader);
            }
コード例 #14
0
ファイル: SqlQueue.cs プロジェクト: jessezhao/shuttle-esb
        public SqlQueue(Uri uri,
						IScriptProvider scriptProvider,
						IDatabaseConnectionFactory databaseConnectionFactory,
						IDatabaseGateway databaseGateway)
        {
            Guard.AgainstNull(uri, "uri");
            Guard.AgainstNull(scriptProvider, "scriptProvider");
            Guard.AgainstNull(databaseConnectionFactory, "databaseConnectionFactory");
            Guard.AgainstNull(databaseGateway, "databaseGateway");

            _scriptProvider = scriptProvider;
            _databaseConnectionFactory = databaseConnectionFactory;
            _databaseGateway = databaseGateway;

            _log = Log.For(this);

            Uri = uri;

            parser = new SqlUriParser(uri);

            _dataSource = new DataSource(parser.ConnectionName, new SqlDbDataParameterFactory());
            _tableName = parser.TableName;

            BuildQueries();
        }
コード例 #15
0
        public SqlQueue(Uri uri,
                        IScriptProvider scriptProvider,
                        IDatabaseContextFactory databaseContextFactory,
                        IDatabaseGateway databaseGateway)
        {
            Guard.AgainstNull(uri, nameof(uri));
            Guard.AgainstNull(scriptProvider, nameof(scriptProvider));
            Guard.AgainstNull(databaseContextFactory, nameof(databaseContextFactory));
            Guard.AgainstNull(databaseGateway, nameof(databaseGateway));

            _scriptProvider         = scriptProvider;
            _scriptProvider         = scriptProvider;
            _databaseContextFactory = databaseContextFactory;
            _databaseGateway        = databaseGateway;

            _log = Log.For(this);

            _machineName        = Environment.MachineName;
            _baseDirectory      = AppDomain.CurrentDomain.BaseDirectory;
            _unacknowledgedHash = MD5.Create()
                                  .ComputeHash(
                Encoding.ASCII.GetBytes($@"{_machineName}\\{_baseDirectory}"));

            Uri = uri;

            var parser = new SqlUriParser(uri);

            _connectionName = parser.ConnectionName;
            _tableName      = parser.TableName;

            Initialize();
        }
コード例 #16
0
ファイル: ImportController.cs プロジェクト: samiy-xx/keysndr
 public ImportController()
 {
     inputConfigProvider = ObjectFactory.GetProvider<IInputConfigProvider>();
     scriptProvider = ObjectFactory.GetProvider<IScriptProvider>();
     appConfigProvider = ObjectFactory.GetProvider<IAppConfigProvider>();
     storageProvider = ObjectFactory.GetProvider<IStorageProvider>();
 }
コード例 #17
0
        internal static int Main(IFileStorage fileSystem, IScriptProvider provider,  string[] args)
        {
			if (fileSystem == null) {
				throw new ArgumentNullException("No file system was provided.", "fileSystem");
			}
			if (args == null) {
				throw new ArgumentNullException("No args were provided.", "args");
			}
			if (args.Length == 0) {
                Console.WriteLine("Usage:\tSolutionTransform <Script Name or Path> <Other Arguments>");
                Console.WriteLine("\t\tSolutionTransform <Script Name or Path> --help");
                Console.WriteLine("\t\t\tfor script argument help");
                Console.WriteLine("\t\t\tNote that paths nearly always have to be absolute.");
				ReportScripts(provider);
                return 0;
            }
			var file = provider.AllScripts.FirstOrDefault(s => s.Name.Equals(args[0], StringComparison.InvariantCultureIgnoreCase));
			if (file == null)
			{
				Console.WriteLine("Could not find script named '{0}'.", args[0]);
				ReportScripts(provider);
				return 1;
			}
        	return file.Execute(args, fileSystem);
        }
コード例 #18
0
        public SqlQueue(Uri uri,
                        IScriptProvider scriptProvider,
                        IDatabaseContextFactory databaseContextFactory,
                        IDatabaseGateway databaseGateway)
        {
            Guard.AgainstNull(uri, "uri");
            Guard.AgainstNull(scriptProvider, "scriptProvider");
            Guard.AgainstNull(databaseContextFactory, "databaseContextFactory");
            Guard.AgainstNull(databaseGateway, "databaseGateway");

            _scriptProvider         = scriptProvider;
            _databaseContextFactory = databaseContextFactory;
            _databaseGateway        = databaseGateway;

            _log = Log.For(this);

            Uri = uri;

            var parser = new SqlUriParser(uri);

            _connectionName = parser.ConnectionName;
            _tableName      = parser.TableName;

            BuildQueries();
        }
コード例 #19
0
            public override UpgradeEngine Given()
            {
                scriptProvider = Substitute.For <IScriptProvider>();
                scriptProvider.GetScripts(Arg.Any <IConnectionManager>()).Returns(new List <SqlScript>
                {
                    new SqlScript("#1", "Content of #1"),
                    new SqlScript("#3", "Content of #3"),
                });
                versionTracker = Substitute.For <IJournal>();
                versionTracker.GetExecutedScripts().Returns(new[] { "#1", "#2", "#3" });
                scriptExecutor = Substitute.For <IScriptExecutor>();

                var config = new UpgradeConfiguration
                {
                    ConnectionManager = new TestConnectionManager(Substitute.For <IDbConnection>())
                };

                config.ScriptProviders.Add(scriptProvider);
                config.ScriptExecutor = scriptExecutor;
                config.Journal        = versionTracker;

                var upgrader = new UpgradeEngine(config);

                return(upgrader);
            }
コード例 #20
0
 public ZipPackageForExport(IInputConfigProvider i, IScriptProvider s, IAppConfigProvider a, IZipper z, string config)
 {
     appConfigProvider   = a;
     inputConfigProvider = i;
     scriptProvider      = s;
     configName          = config;
     zipper = z;
 }
コード例 #21
0
ファイル: ImportZipPackage.cs プロジェクト: eitan-j/keysndr
 public ImportZipPackage(IInputConfigProvider i, IScriptProvider s, IStorageProvider t, IAppConfigProvider a, byte[] b)
 {
     inputConfigProvider = i;
     scriptProvider      = s;
     appConfigProvider   = a;
     storageProvider     = t;
     bytes = b;
 }
コード例 #22
0
ファイル: EmptyDatabase.cs プロジェクト: funkeymikey/DbUp
 public virtual void AfterEach()
 {
     ScriptProvider = null;
     VersionTracker = null;
     ScriptExecutor = null;
     Log = null;
     DbUpgrader = null;
 }
コード例 #23
0
        public PrimitiveEventQueryFactory(IScriptProvider scriptProvider, IEventTypeStore eventTypeStore)
        {
            Guard.AgainstNull(scriptProvider, nameof(scriptProvider));
            Guard.AgainstNull(eventTypeStore, nameof(eventTypeStore));

            _scriptProvider = scriptProvider;
            _eventTypeStore = eventTypeStore;
        }
コード例 #24
0
ファイル: SaveSource_Tests.cs プロジェクト: samiy-xx/keysndr
        public void Setup()
        {
            scriptProviderMock = new Mock<IScriptProvider>();
            scriptProvider = scriptProviderMock.Object;

            storageProviderMock = new Mock<IStorageProvider>();
            storageProvider = storageProviderMock.Object;
        }
コード例 #25
0
ファイル: LoadSource_Tests.cs プロジェクト: eitan-j/keysndr
        public void Setup()
        {
            scriptProviderMock = new Mock <IScriptProvider>();
            scriptProviderMock.Setup(s => s.Scripts).Returns(Scripts);
            scriptProvider = scriptProviderMock.Object;

            toMatch = TestFactory.CreateTestInputScript();
        }
コード例 #26
0
		private static void ReportScripts(IScriptProvider provider)
		{
			Console.WriteLine("Valid scripts:");
			foreach (var script	in provider.AllScripts)
			{
				Console.WriteLine("\t{0,-20}\t{1}", script.Name, script.Location);
			}
		}
コード例 #27
0
ファイル: LoadSource_Tests.cs プロジェクト: samiy-xx/keysndr
        public void Setup()
        {
            scriptProviderMock = new Mock<IScriptProvider>();
            scriptProviderMock.Setup(s => s.Scripts).Returns(Scripts);
            scriptProvider = scriptProviderMock.Object;

            toMatch = TestFactory.CreateTestInputScript();
        }
コード例 #28
0
        public void Setup()
        {
            scriptProviderMock = new Mock <IScriptProvider>();
            scriptProvider     = scriptProviderMock.Object;

            storageProviderMock = new Mock <IStorageProvider>();
            storageProvider     = storageProviderMock.Object;
        }
コード例 #29
0
 public PortalPageRenderer(ITitleProvider titleProvider, IFaviconProvider faviconProvider, IStaticFilesBasePathProvider staticFilesBasePathProvider, IStyleProvider styleProvider, IScriptProvider scriptProvider)
 {
     TitleProvider               = titleProvider;
     FaviconProvider             = faviconProvider;
     StaticFilesBasePathProvider = staticFilesBasePathProvider;
     StyleProvider               = styleProvider;
     ScriptProvider              = scriptProvider;
 }
コード例 #30
0
 public virtual void AfterEach()
 {
     ScriptProvider = null;
     VersionTracker = null;
     ScriptExecutor = null;
     Log            = null;
     DbUpgrader     = null;
 }
コード例 #31
0
ファイル: Migrator.cs プロジェクト: aabs/Sparql.Migrator
 public Migrator(IScriptProvider scriptProvider, IScriptApplicator scriptApplicator,
                 IMetadataProvider metadataProvider, ITransactionProvider transactionProvider)
 {
     _scriptProvider      = scriptProvider;
     _scriptApplicator    = scriptApplicator;
     _metadataProvider    = metadataProvider;
     _transactionProvider = transactionProvider;
 }
コード例 #32
0
 public FunctionsCommand(ITextProvider expressionTextProvider, IScriptProvider scriptingTextProvider, IScriptProvider customFunctionsTextProvider, ISharedViewState sharedViewState, IFunctionsDetails functionsDetails, IClickedMouseButtonsProvider clickedMouseButtonsProvider, IShowFunctionDetails showFunctionDetails) : base(MenuStrings.functionsToolStripMenuItem_Text,
                                                                                                                                                                                                                                                                                                                                    new Dictionary <string, string>()
 {
     { "ElementaryFunctions", MenuStrings.elementaryFunctionsToolStripMenuItem_Text },
     { "SpecialFunctions", MenuStrings.specialFunctionsToolStripMenuItem_Text }
 },
                                                                                                                                                                                                                                                                                                                                    expressionTextProvider, scriptingTextProvider, customFunctionsTextProvider, sharedViewState, functionsDetails, clickedMouseButtonsProvider, showFunctionDetails)
 {
 }
コード例 #33
0
ファイル: SqlQueue.cs プロジェクト: nnyamhon/shuttle-esb
        public SqlQueue(Uri uri,
                        ISubscriptionManagerConfiguration subscriptionManagerConfiguration,
                        IScriptProvider scriptProvider,
                        IDatabaseConnectionFactory databaseConnectionFactory,
                        IDatabaseGateway databaseGateway)
        {
            Guard.AgainstNull(uri, "uri");
            Guard.AgainstNull(subscriptionManagerConfiguration, "subscriptionManagerConfiguration");
            Guard.AgainstNull(scriptProvider, "scriptProvider");
            Guard.AgainstNull(databaseConnectionFactory, "databaseConnectionFactory");
            Guard.AgainstNull(databaseGateway, "databaseGateway");

            this.subscriptionManagerConfiguration = subscriptionManagerConfiguration;
            this.scriptProvider = scriptProvider;
            this.databaseConnectionFactory = databaseConnectionFactory;
            this.databaseGateway = databaseGateway;

            if (!uri.Scheme.Equals(SCHEME, StringComparison.InvariantCultureIgnoreCase))
            {
                throw new InvalidSchemeException(SCHEME, uri.ToString());
            }

            var builder = new UriBuilder(uri);

            if (uri.LocalPath == "/" || uri.Segments.Length != 2)
            {
                throw new UriFormatException(string.Format(ESBResources.UriFormatException,
                                                           "sql://{{connection name}}/{{table name}}",
                                                           Uri));
            }

            log = Log.For(this);

            Uri = builder.Uri;

            dataSource = new DataSource(Uri.Host,
                                        new SqlServerDbDataParameterFactory(),
                                        new SqlServerContainsQueryFactory(),
                                        new SqlServerInsertQueryFactory(),
                                        new SqlServerUpdateQueryFactory(),
                                        new SqlServerDeleteQueryFactory(),
                                        new SqlServerSelectQueryFactory());

            using (databaseConnectionFactory.Create(dataSource))
            {
                var host = databaseGateway.GetScalarUsing<string>(dataSource,
                                                                  RawQuery.CreateFrom("select host_name()"));

                IsLocal = (host ?? string.Empty) == Environment.MachineName;
            }

            tableName = Uri.Segments[1];

            IsTransactional = true;

            BuildQueries();
        }
コード例 #34
0
 public ConstantsCommand(ITextProvider expressionTextProvider, IScriptProvider scriptingTextProvider, IScriptProvider customFunctionsTextProvider, ISharedViewState sharedViewState, IAutocompleteProvider autocompleteProvider, IClickedMouseButtonsProvider clickedMouseButtonsProvider, IShowFunctionDetails showFunctionDetails) : base(MenuStrings.constantsToolStripMenuItem_Text,
                                                                                                                                                                                                                                                                                                                                            new Dictionary <string, string>()
 {
     { "MathematicalConstants", MenuStrings.mathematicalConstantsToolStripMenuItem_Text },
     { "PhysicalConstants", MenuStrings.physicalConstantsToolStripMenuItem_Text }
 },
                                                                                                                                                                                                                                                                                                                                            expressionTextProvider, scriptingTextProvider, customFunctionsTextProvider, sharedViewState, autocompleteProvider, clickedMouseButtonsProvider, showFunctionDetails)
 {
 }
コード例 #35
0
 public PostgresDowngradeEnabledTableJournal(
     Func <IConnectionManager> connectionManager,
     Func <IUpgradeLog> logger,
     string schema,
     string table,
     IScriptProvider downgradeScriptsProvider)
     : base(connectionManager, logger, new PostgresqlObjectParser(), schema, table ?? DefaultTable, downgradeScriptsProvider)
 {
 }
コード例 #36
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Migration"/> class.
 /// </summary>
 /// <param name="connectionFactory">The connection factory.</param>
 /// <param name="scriptExecutor">The script executor.</param>
 /// <param name="auditLog">The audit log.</param>
 /// <param name="batchManager">The script batch manager.</param>
 /// <param name="initializationScriptProvider">The script provider for scripts to run when initializing the database.</param>
 /// <param name="migrationScriptProvider">The script provider for scripts to run during migrations.</param>
 internal Migration(IConnectionFactory connectionFactory, IScriptExecutor scriptExecutor, IAuditor auditLog, IBatchManager batchManager, IScriptProvider initializationScriptProvider, IScriptProvider migrationScriptProvider)
 {
     this.connectionFactory            = connectionFactory ?? throw new ArgumentNullException(nameof(connectionFactory));
     this.scriptExecutor               = scriptExecutor ?? throw new ArgumentNullException(nameof(scriptExecutor));
     this.auditLog                     = auditLog ?? throw new ArgumentNullException(nameof(auditLog));
     this.batchManager                 = batchManager ?? throw new ArgumentNullException(nameof(batchManager));
     this.initializationScriptProvider = initializationScriptProvider ?? throw new ArgumentNullException(nameof(initializationScriptProvider));
     this.migrationScriptProvider      = migrationScriptProvider ?? throw new ArgumentNullException(nameof(migrationScriptProvider));
 }
コード例 #37
0
            /// <summary>
            /// Reset the value
            /// </summary>
            /// <param name="component">The component to use</param>
            public override void ResetValue(object component)
            {
                IScriptProvider config = component as IScriptProvider;

                if (config != null)
                {
                    config.Config[_property.Name] = _property.DefaultValue;
                }
            }
コード例 #38
0
        private DatabaseUpgradeResult Upgrade(IDatabaseProvider provider, IScriptProvider scriptProvider, IUpgradeLog log, IJournal journal, string schema)
        {
            var upgradeEngine = provider.GetUpgradeEngineBuilder(connectionStringProvider.ConnectionString, schema)
                .WithScripts(scriptProvider)
                .JournalTo(journal)
                .LogTo(log)
                .Build();

            return upgradeEngine.PerformUpgrade();
        }
コード例 #39
0
        public XmlScriptingEngine()
        {
            provider = new XmlScriptProvider();
            Scriptables = new Dictionary<string, Scriptable>();
            AddQueue = new List<Scriptable>();
            IsUpdating = false;

            SpriteTypes = new Dictionary<string, Type>();
            Templates = new Dictionary<string, XElement>();
        }
コード例 #40
0
        private DatabaseUpgradeResult Upgrade(IDatabaseProvider provider, IScriptProvider scriptProvider, IUpgradeLog log, IJournal journal, string schema)
        {
            var upgradeEngine = provider.GetUpgradeEngineBuilder(connectionStringSettings.ConnectionString, schema)
                                .WithScripts(scriptProvider)
                                .JournalTo(journal)
                                .LogTo(log)
                                .Build();

            return(upgradeEngine.PerformUpgrade());
        }
コード例 #41
0
 public SqlDowngradeEnabledTableJournal(
     Func <IConnectionManager> connectionManager,
     Func <IUpgradeLog> logger,
     string schema,
     string table,
     IScriptProvider downgradeScriptsProvider,
     IDowngradeScriptFinder downgradeScriptFinder)
     : base(connectionManager, logger, new SqlServerObjectParser(), schema, table ?? DefaultTable, downgradeScriptsProvider, downgradeScriptFinder)
 {
 }
コード例 #42
0
        public SqlQueue(Uri uri,
                        IScriptProvider scriptProvider,
                        IDatabaseConnectionFactory databaseConnectionFactory,
                        IDatabaseGateway databaseGateway)
        {
            Guard.AgainstNull(uri, "uri");
            Guard.AgainstNull(scriptProvider, "scriptProvider");
            Guard.AgainstNull(databaseConnectionFactory, "databaseConnectionFactory");
            Guard.AgainstNull(databaseGateway, "databaseGateway");

            this.scriptProvider            = scriptProvider;
            this.databaseConnectionFactory = databaseConnectionFactory;
            this.databaseGateway           = databaseGateway;

            if (!uri.Scheme.Equals(SCHEME, StringComparison.InvariantCultureIgnoreCase))
            {
                throw new InvalidSchemeException(SCHEME, uri.ToString());
            }

            var builder = new UriBuilder(uri);

            if (uri.LocalPath == "/" || uri.Segments.Length != 2)
            {
                throw new UriFormatException(string.Format(ESBResources.UriFormatException,
                                                           "sql://{{connection-name}}/{{table-name}}",
                                                           uri));
            }

            log = Log.For(this);

            Uri = builder.Uri;

            dataSource = new DataSource(Uri.Host,
                                        new SqlServerDbDataParameterFactory(),
                                        new SqlServerContainsQueryFactory(),
                                        new SqlServerInsertQueryFactory(),
                                        new SqlServerUpdateQueryFactory(),
                                        new SqlServerDeleteQueryFactory(),
                                        new SqlServerSelectQueryFactory());

            using (databaseConnectionFactory.Create(dataSource))
            {
                var host = databaseGateway.GetScalarUsing <string>(dataSource,
                                                                   RawQuery.CreateFrom("select host_name()"));

                IsLocal = (host ?? string.Empty) == Environment.MachineName;
            }

            tableName = Uri.Segments[1];

            IsTransactional = true;

            BuildQueries();
        }
コード例 #43
0
        public SubscriptionManager(IScriptProvider scriptProvider, IDatabaseConnectionFactory databaseConnectionFactory,
                                   IDatabaseGateway databaseGateway)
        {
            Guard.AgainstNull(scriptProvider, "scriptProvider");
            Guard.AgainstNull(databaseConnectionFactory, "databaseConnectionFactory");
            Guard.AgainstNull(databaseGateway, "databaseGateway");

            this.scriptProvider = scriptProvider;
            this.databaseConnectionFactory = databaseConnectionFactory;
            this.databaseGateway = databaseGateway;
        }
コード例 #44
0
 public CommandExecutor(
     CommandArguments args,
     IScriptProvider scriptProvider,
     IFlubuSession flubuSession,
     ILogger <CommandExecutor> log)
 {
     _args           = args;
     _scriptProvider = scriptProvider;
     _flubuSession   = flubuSession;
     _log            = log;
 }
コード例 #45
0
 public CommandExecutor(
     CommandArguments args,
     IScriptProvider scriptProvider,
     IFlubuSession flubuSession,
     ILogger <CommandExecutor> log,
     IFlubuTemplateTasksExecutor flubuTemplateTasksExecutor)
     : base(flubuSession, args, flubuTemplateTasksExecutor)
 {
     _scriptProvider = scriptProvider;
     _log            = log;
 }
コード例 #46
0
 public void Setup()
 {
     scriptProviderMock = new Mock<IScriptProvider>();
     scriptProviderMock.Setup(s => s.Scripts).Returns(new List<InputScript>
     {
         new InputScript { FileName = "test.js"},
         new InputScript {FileName = "test2.js"}
     });
     scriptProvider = scriptProviderMock.Object;
     cmd = new GetAllScripts(scriptProvider);
 }
コード例 #47
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ApplicationDatabase"/> class.
 /// </summary>
 /// <param name="connectionString">The connection string.</param>
 public ApplicationDatabase(string connectionString)
 {
     _connectionString = connectionString;
     _scriptExecutor = new SqlScriptExecutor();
     _versionTracker = new SchemaVersionsTableSqlVersionTracker();
     _scriptProvider = new EmbeddedSqlScriptProvider(
         Assembly.GetExecutingAssembly(),
         versionNumber => string.Format(
                              "Bindable.Cms.Database.Scripts.Sequential.Script{0}.sql",
                              versionNumber.ToString().PadLeft(4, '0')));
     _upgrader = new DatabaseUpgrader(connectionString, _scriptProvider, _versionTracker, _scriptExecutor);
 }
コード例 #48
0
        public void Setup()
        {
            okScript = TestFactory.CreateTestInputScript();
            notOkScript = TestFactory.CreateTestInputScript();

            scriptProviderMock = new Mock<IScriptProvider>();
            scriptProviderMock.Setup(s => s.RemoveScript(It.Is<InputScript>(v => v.Equals(notOkScript))))
                .Throws<Exception>();
            scriptProvider = scriptProviderMock.Object;

            storageProviderMock = new Mock<IStorageProvider>();
            storageProvider = storageProviderMock.Object;
        }
コード例 #49
0
        public void Setup()
        {
            existingScript = TestFactory.CreateTestInputScript();
            nonExistingScript = TestFactory.CreateTestInputScript();
            nonExistingScript.FileName = "somethingelse";

            scriptProviderMock = new Mock<IScriptProvider>();
            scriptProviderMock.Setup(s => s.Scripts).Returns(Scripts);
            scriptProvider = scriptProviderMock.Object;

            storageProviderMock = new Mock<IStorageProvider>();
            storageProvider = storageProviderMock.Object;
        }
コード例 #50
0
        public IdempotenceService(
			IScriptProvider scriptProvider,
			IDatabaseConnectionFactory databaseConnectionFactory,
			IDatabaseGateway databaseGateway)
        {
            Guard.AgainstNull(scriptProvider, "_scriptProvider");
            Guard.AgainstNull(databaseConnectionFactory, "_databaseConnectionFactory");
            Guard.AgainstNull(databaseGateway, "_databaseGateway");

            _scriptProvider = scriptProvider;
            _databaseConnectionFactory = databaseConnectionFactory;
            _databaseGateway = databaseGateway;
        }
コード例 #51
0
        public void Setup()
        {
            appConfigProviderMock = new Mock<IAppConfigProvider>();
            appConfigProvider = appConfigProviderMock.Object;

            inputConfigProviderMock = new Mock<IInputConfigProvider>();
            inputConfigProvider = inputConfigProviderMock.Object;

            scriptProviderMock = new Mock<IScriptProvider>();
            scriptProvider = scriptProviderMock.Object;

            storageProviderMock = new Mock<IStorageProvider>();
            storageProvider = storageProviderMock.Object;
        }
コード例 #52
0
ファイル: EmptyDatabase.cs プロジェクト: funkeymikey/DbUp
        public virtual void BeforeEach()
        {
            ScriptProvider = Substitute.For<IScriptProvider> ();
            VersionTracker = Substitute.For<IJournal> ();
            ScriptExecutor = Substitute.For<IScriptExecutor> ();
            ScriptPreprocessor = Substitute.For<IScriptPreprocessor>();

            Log = Substitute.For<IUpgradeLog> ();

            var config = new UpgradeConfiguration();

            config.ScriptPreprocessors.Add(ScriptPreprocessor);
            config.ScriptProviders.Add(ScriptProvider);
            config.ScriptExecutor = ScriptExecutor;
            config.Journal = VersionTracker;
            config.Log = Log;

            DbUpgrader = new ScriptExecutingEngine(config);
        }
コード例 #53
0
        public void Setup()
        {
            existingConfigName = "existing";
            nonExistingConfigName = "nonexisting";

            inputConfigProviderMock = new Mock<IInputConfigProvider>();
            inputConfigProviderMock.Setup(s => s.FindConfigForName(It.Is<string>(v => v.Equals(existingConfigName)))).Returns(TestFactory.CreateTestInputConfiguration);
            inputConfigProviderMock.Setup(s => s.FindConfigForName(It.Is<string>(v => v.Equals(nonExistingConfigName)))).Returns((InputConfiguration)null);
            inputConfigProvider = inputConfigProviderMock.Object;

            scriptProviderMock = new Mock<IScriptProvider>();
            scriptProvider = scriptProviderMock.Object;

            appConfigProviderMock = new Mock<IAppConfigProvider>();
            appConfigProvider = appConfigProviderMock.Object;

            zipperMock = new Mock<IZipper>();

            zipper = zipperMock.Object;
        }
コード例 #54
0
 public ScriptedExtension(string sourceIdentifier, Assembly sourceAssembly, IScriptProvider scriptProvider)
 {
     this.sourceIdentifier = sourceIdentifier;
     this.sourceAssembly = sourceAssembly;
     this.scriptProvider = scriptProvider;
 }
コード例 #55
0
        private DatabaseUpgradeResult Upgrade(string connectionString, IScriptProvider scriptProvider, ILog log, IJournal journal, string schema)
        {
            var upgrader = new DatabaseUpgrader(
                connectionString,
                scriptProvider,
                journal,
                new SqlScriptExecutor(connectionString, log, schema));

            var result = upgrader.PerformUpgrade();
            return result;
        }
コード例 #56
0
ファイル: Zipper.cs プロジェクト: samiy-xx/keysndr
 public Zipper(IScriptProvider s, IAppConfigProvider a)
 {
     scriptProvider = s;
     appConfigProvider = a;
 }
コード例 #57
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="provider"></param>
 public ScriptDynamicTypeDescriptor(IScriptProvider provider)
 {
     _provider = provider;
 }
コード例 #58
0
 /// <summary>
 /// Adds a custom script provider to the upgrader.
 /// </summary>
 /// <param name="builder">The builder.</param>
 /// <param name="scriptProvider">The script provider.</param>
 /// <returns>
 /// The same builder
 /// </returns>
 public static UpgradeEngineBuilder WithScripts(this UpgradeEngineBuilder builder, IScriptProvider scriptProvider)
 {
     builder.Configure(c => c.ScriptProviders.Add(scriptProvider));
     return builder;
 }
コード例 #59
0
 public void Setup()
 {
     storageProviderMock = new Mock<IStorageProvider>();
     storageProviderMock.Setup(s => s.LoadInputScripts()).Returns(SetTestScripts);
     storageProvider = storageProviderMock.Object;
     provider = new ScriptProvider(storageProvider);
 }
コード例 #60
0
 public SqlQueueFactory()
 {
     scriptProvider = new ScriptProvider();
     databaseConnectionFactory = DatabaseConnectionFactory.Default();
     databaseGateway = DatabaseGateway.Default();
 }