示例#1
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="master"></param>
 /// <param name="registers"></param>
 /// <param name="configuration"></param>
 /// <param name="logger"></param>
 public ModbusBridge(IMaster master, RegistersConfiguration registers, ConnectorConfiguration configuration, ILogger logger)
 {
     _logger        = logger;
     _master        = master;
     _registers     = registers;
     _configuration = configuration;
 }
示例#2
0
        /// <summary>
        /// Exports the specified connector configuration.
        /// </summary>
        /// <param name="connectorConfiguration">The connector configuration.</param>
        public void Export(ConnectorConfiguration connectorConfiguration)
        {
            var itemsList = new List <ConnectorConfiguration>();

            itemsList.Add(connectorConfiguration);
            this.Export(itemsList);
        }
示例#3
0
 public HotelJccConnector(ConnectorConfiguration connectorConfiguration)
 {
     httpClient = new HttpClient();
     availabilitySearchRqMapper  = new HotelJccAvailabilitySearchRqMapper();
     availabilitySearchRsMapper  = new HotelLegAvailabilitySearchRsMapper();
     this.connectorConfiguration = connectorConfiguration;
 }
        /// <summary>
        /// Exports the specified connector configuration.
        /// </summary>
        /// <param name="connectorConfiguration">The connector configuration.</param>
        public void Export(ConnectorConfiguration connectorConfiguration, string exportName)
        {
            var itemsList = new List <ConnectorConfiguration>();

            itemsList.Add(connectorConfiguration);
            this.Export(itemsList, exportName);
        }
示例#5
0
        public override Connector CreateNew(ConnectorConfiguration configuration)
        {
            log.Debug("Creating new JenkinsProject based on configuration {configuration}", new { configuration.Name, configuration.Identifier });
            var jenkinsProject = new JenkinsConnector(configuration, new JenkinsApi());

            return(jenkinsProject);
        }
示例#6
0
        /// <summary>
        /// Initializes a new instance of the <see cref="Connector"/> class.
        /// </summary>
        /// <param name="configuration">The configuration.</param>
        protected Connector(ConnectorConfiguration configuration)
        {
            this.Snapshots = new List <Snapshot>();
            if (configuration == null)
            {
                var plugin = PluginManager.Instance.GetPlugin(this);
                configuration = new ConnectorConfiguration(plugin.Name);
            }

            this.Configuration = configuration;
        }
示例#7
0
        public void EnsureProjectsInFoldersAreProperlyConvertedToUrl()
        {
            var api    = MockRepository.GenerateMock <IJenkinsApi>();
            var config = new ConnectorConfiguration(JenkinsConnector.ConnectorName, "my project", new List <ConfigurationItem>
            {
                new ConfigurationItem(Connector.ServerAddress)
                {
                    Value = "https://www.my-little-jenkins.com"
                },
                new ConfigurationItem(Connector.ProjectName)
                {
                    Value = "folder/my-fancy-build-project"
                },
            });

            var connector = new JenkinsConnector(config, api);

            var url = JenkinsApi.UrlHelper.ProjectUrl(connector);

            Assert.AreEqual("https://www.my-little-jenkins.com/job/folder/job/my-fancy-build-project", url);
        }
示例#8
0
        public void EnsureLegacyProjectNameFormatPriorTo_0_9_1_Works()
        {
            var api    = MockRepository.GenerateMock <IJenkinsApi>();
            var config = new ConnectorConfiguration(JenkinsConnector.ConnectorName, "my project", new List <ConfigurationItem>
            {
                new ConfigurationItem(Connector.ServerAddress)
                {
                    Value = "https://www.my-little-jenkins.com"
                },
                new ConfigurationItem(Connector.ProjectName)
                {
                    Value = "folder1/job/folder2/job/my-job"
                },
            });

            var connector = new JenkinsConnector(config, api);

            var url = JenkinsApi.UrlHelper.ProjectUrl(connector);

            Assert.AreEqual("https://www.my-little-jenkins.com/job/folder1/job/folder2/job/my-job", url);
        }
示例#9
0
        public void EnsureProjectsWithSpecialCharsAreProperlyConvertedToUrl()
        {
            var api    = MockRepository.GenerateMock <IJenkinsApi>();
            var config = new ConnectorConfiguration(JenkinsConnector.ConnectorName, "my project", new List <ConfigurationItem>
            {
                new ConfigurationItem(Connector.ServerAddress)
                {
                    Value = "https://www.my-little-jenkins.com"
                },
                new ConfigurationItem(Connector.ProjectName)
                {
                    Value = "playground/strâng335 sads== Jöb NAME"
                },
            });

            var connector = new JenkinsConnector(config, api);

            var url = JenkinsApi.UrlHelper.ProjectUrl(connector);

            Assert.AreEqual("https://www.my-little-jenkins.com/job/playground/job/str%C3%A2ng335%20sads==%20J%C3%B6b%20NAME", url);
        }
示例#10
0
        public override Connector CreateNew(ConnectorConfiguration configuration, bool?checkRedirect = null)
        {
            log.Debug("Creating new JenkinsProject based on configuration {configuration}", new { configuration.Name, configuration.Identifier });
            var jenkinsProject = new JenkinsConnector(configuration, new JenkinsApi());

            if (checkRedirect == null)
            {
                return(jenkinsProject);
            }
            else if (checkRedirect == false)
            {
                return(jenkinsProject);
            }

            if (blueOceanCache.ContainsKey(jenkinsProject.Address))
            {
                jenkinsProject.Configuration.GetConfigurationByKey("RedirectPlugin").Value = blueOceanCache[jenkinsProject.Address].ToString();
                configuration.GetConfigurationByKey("RedirectPlugin").Value = blueOceanCache[jenkinsProject.Address].ToString();
                return(jenkinsProject);
            }

            var task = Task.Run(async() => await jenkinsProject.IsReachableUrl(JenkinsApi.UrlHelper.ProjectUrl(jenkinsProject) + JenkinsApi.UrlHelper.RedirectPluginUrlSuffix));

            task.Wait();
            var result = task.Result;

            if (result == true)
            {
                jenkinsProject.Configuration.GetConfigurationByKey("RedirectPlugin").Value = "True";
                configuration.GetConfigurationByKey("RedirectPlugin").Value = "True";
                blueOceanCache.Add(jenkinsProject.Address, true);
            }
            else
            {
                blueOceanCache.Add(jenkinsProject.Address, false);
            }

            return(jenkinsProject);
        }
示例#11
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ServerConnector"/> class.
 /// </summary>
 /// <param name="configuration">The configuration.</param>
 protected ServerConnector(ConnectorConfiguration configuration)
     : base(configuration)
 {
 }
示例#12
0
        static async Task Start()
        {
            Console.Title = "Sender";
            string connectionString = @"Data Source=(local)\MYDEV;Initial Catalog=NsbSamplesSqlOutbox;Integrated Security=True;Max Pool Size=100";
            var    storage          = new SqlSubscriptionStorage(() => new SqlConnection(connectionString), "WebApplication",
                                                                 new SqlDialect.MsSqlServer(), null);

            storage.Install().GetAwaiter().GetResult();

            //The system uses RabbitMQ transport
            var connectorConfig = new ConnectorConfiguration <RabbitMQTransport>(
                name: "WebApplication",
                sqlConnectionString: connectionString,
                customizeConnectedTransport: extensions =>
            {
                extensions.ConnectionString("host=localhost;username=guest;password=guest");
                extensions.UseConventionalRoutingTopology();
            },
                customizeConnectedInterface: configuration => { configuration.EnableMessageDrivenPublishSubscribe(storage); });

            connectorConfig.AutoCreateQueues();


            //Start the connector
            var connector = connectorConfig.CreateConnector();
            await connector.Start();

            Console.WriteLine("(Q) Quit (R) Rollback (Any other key) Write to TestTable and publish message");

            while (true)
            {
                var key = Console.ReadKey();
                Console.WriteLine();

                if (key.Key == ConsoleKey.Q)
                {
                    break;
                }

                using (var sqlConn = new SqlConnection(connectionString))
                {
                    await sqlConn.OpenAsync();

                    using (var tran = sqlConn.BeginTransaction())
                    {
                        var message = connector.GetSession(sqlConn, tran);

                        await message.Publish(new MyMessage { Message = $"Test {key.Key}" }).ConfigureAwait(false);

                        using (var command = new SqlCommand("INSERT INTO TestTable VALUES ('Test')", sqlConn, tran))
                        {
                            await command.ExecuteNonQueryAsync();
                        }

                        if (key.Key == ConsoleKey.R)
                        {
                            tran.Rollback(); // Simulate rollback
                        }
                        else
                        {
                            tran.Commit(); // Business as usual
                        }
                    }
                }
            }

            await connector.Stop();

            Console.ReadLine();
        }
示例#13
0
 public override void ApplyConfiguration(ConnectorConfiguration configuration)
 {
     base.ApplyConfiguration(configuration);
     this.Url = JenkinsApi.UrlHelper.ProjectUrl(this.Connector);
 }
示例#14
0
 public TravisConnector(ConnectorConfiguration configuration)
     : base(configuration)
 {
 }
        public void GivenAConnectorConfigurationWithTheFollowingValues(Table table)
        {
            ConnectorConfiguration configuration = table.CreateInstance <ConnectorConfiguration>();

            _container.RegisterInstanceAs(configuration);
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="ServerHealth"/> class.
 /// </summary>
 /// <param name="configuration">The configuration.</param>
 public ServerHealth(ConnectorConfiguration configuration)
     : base(configuration)
 {
     this.latestPingResults = new Queue <ServerHealthStatus>();
 }
示例#17
0
 public Connector(ConnectorConfiguration config = null)
 {
     _logger.Trace();
     _config = config ?? ConnectorConfiguration.DefaultConfiguration();
     _items  = new Dictionary <string, MonitoredItem>();
 }
 /// <summary>
 /// Creates the new.
 /// </summary>
 /// <param name="configuration">The configuration.</param>
 /// <returns>The new plugin.</returns>
 public override Connector CreateNew(ConnectorConfiguration configuration)
 {
     return(new ServerHealth(configuration));
 }
示例#19
0
 /// <summary>
 /// Initializes viewmodel based on <paramref name="configuration"/>.
 /// </summary>
 /// <param name="configuration">Configuration of this connector.</param>
 public override void Init(ConnectorConfiguration configuration)
 {
     this.ExpectedPluginType = configuration.PluginTypeName;
     base.Init(configuration);
 }
示例#20
0
 public override Connector CreateNew(ConnectorConfiguration configuration, bool?checkRedirect = null)
 {
     return(new CruiseControlConnector(configuration));
 }
示例#21
0
 public override Connector CreateNew(ConnectorConfiguration configuration)
 {
     return(new TravisConnector(configuration));
 }
示例#22
0
 public abstract Connector CreateNew(ConnectorConfiguration configuration);
示例#23
0
 public override Connector CreateNew(ConnectorConfiguration configuration)
 {
     return(new CruiseControlConnector(configuration));
 }
示例#24
0
 public CruiseControlConnector(ConnectorConfiguration configuration)
     : base(configuration)
 {
 }
 public override void ApplyConfiguration(ConnectorConfiguration configuration)
 {
     base.ApplyConfiguration(configuration);
     this.Url = CruiseControlServer.UrlHelper.GetReportUrl(this.Connector.directAddress, this.Connector?.Project);
 }
示例#26
0
 /// <summary>
 /// Initializes a new instance of <see cref="Master"/>
 /// </summary>
 /// <param name="configuration"><see cref="ConnectorConfiguration">Configuration</see></param>
 /// <param name="logger"><see cref="ILogger"/> to use for logging</param>
 public Master(ConnectorConfiguration configuration, ILogger logger)
 {
     _configuration = configuration;
     _logger        = logger;
 }
示例#27
0
 /// <summary>
 /// Initializes a new instance of the <see cref="JenkinsProject"/> class.
 /// </summary>
 /// <param name="configuration">The configuration.</param>
 /// <param name="api">API for Jenkins.</param>
 public JenkinsProject(ConnectorConfiguration configuration, IJenkinsApi api)
     : base(configuration)
 {
     this.api = api;
 }
示例#28
0
 public abstract Connector CreateNew(ConnectorConfiguration configuration, bool?checkRedirect = null);