public JasperOptionsBuilder(string assemblyName = null) { HttpRoutes = new HttpSettings(); Services = _applicationServices; establishApplicationAssembly(assemblyName); var name = ApplicationAssembly?.GetName().Name ?? "JasperApplication"; CodeGeneration = new JasperGenerationRules($"{name.Replace(".", "_")}_Generated"); CodeGeneration.Sources.Add(new NowTimeVariableSource()); CodeGeneration.Assemblies.Add(GetType().GetTypeInfo().Assembly); CodeGeneration.Assemblies.Add(ApplicationAssembly); _baseServices = new JasperServiceRegistry(this); Settings = new JasperSettings(this); Settings.BindToConfigSection <JasperOptions>("Jasper"); Publish = new PublishingExpression(Settings, Messaging); Settings.Replace(HttpRoutes); }
public JasperRegistry() { Logging = new Logging(this); Publish = new PublishingExpression(Bus); ExtensionServices = new ExtensionServiceRegistry(); Services = _applicationServices; establishApplicationAssembly(); _baseServices = new JasperServiceRegistry(this); deriveServiceName(); var name = ApplicationAssembly?.GetName().Name ?? "JasperApplication"; Generation = new GenerationRules($"{name}.Generated"); Settings = new JasperSettings(this); Settings.Replace(Bus.Settings); if (JasperEnvironment.Name.IsNotEmpty()) { EnvironmentName = JasperEnvironment.Name; } EnvironmentChecks = new EnvironmentCheckExpression(this); }
public JasperRegistry() { Features.Include <ConnegDiscoveryFeature>(); _bus = Features.For <ServiceBusFeature>(); Http = Features.For <AspNetCoreFeature>(); Publish = new PublishingExpression(_bus); _applicationServices = new ServiceRegistry(); ExtensionServices = new ExtensionServiceRegistry(); Services = _applicationServices; ApplicationAssembly = CallingAssembly.DetermineApplicationAssembly(this); deriveServiceName(); var name = ApplicationAssembly?.GetName().Name ?? "JasperApplication"; Generation = new GenerationRules($"{name}.Generated"); Logging = new Logging(this); Settings = new JasperSettings(this); Settings.Replace(_bus.Settings); if (JasperEnvironment.Name.IsNotEmpty()) { EnvironmentName = JasperEnvironment.Name; } }
public JasperRegistry() { Configuration.SetBasePath(Directory.GetCurrentDirectory()); HttpRoutes = new HttpSettings(); Services = _applicationServices; establishApplicationAssembly(); var name = ApplicationAssembly?.GetName().Name ?? "JasperApplication"; CodeGeneration = new JasperGenerationRules($"{name.Replace(".", "_")}_Generated"); _baseServices = new JasperServiceRegistry(this); Settings = new JasperSettings(this); Settings.BindToConfigSection <MessagingSettings>("Messaging"); deriveServiceName(); Publish = new PublishingExpression(Settings, Messaging); Hosting = this; // ASP.Net Core will freak out if this isn't there EnvironmentConfiguration[WebHostDefaults.ApplicationKey] = ApplicationAssembly.FullName; Settings.Replace(HttpRoutes); }
internal MessageTrackExpression(JasperSettings settings, MessagingConfiguration bus, RoutingScope routingScope, string match) { _settings = settings; _bus = bus; _routingScope = routingScope; _match = match; }
/// <summary> /// Configure the Appication Insights instrumentation key value from /// the application's IConfiguration /// </summary> /// <param name="settings"></param> /// <param name="valueSource"></param> public static void ApplicationInsightsKeyIs(this JasperSettings settings, Func <IConfiguration, string> valueSource) { settings.Alter <ApplicationInsightsSettings>((c, s) => { s.InstrumentationKey = valueSource(c.Configuration); }); }
/// <summary> /// Register Marten backed message persistence based on configuration and the /// development environment /// </summary> /// <param name="settings"></param> /// <param name="configure"></param> public static void PersistMessagesWithMarten(this JasperSettings settings, Action <WebHostBuilderContext, StoreOptions> configure) { var parent = settings.As <IHasRegistryParent>().Parent; if (!parent.AppliedExtensions.OfType <MartenBackedPersistence>().Any()) { parent.Include <MartenBackedPersistence>(); } settings.Alter(configure); }
/// <summary> /// Register Marten backed message persistence to a known connection string /// </summary> /// <param name="settings"></param> /// <param name="connectionString"></param> /// <param name="schema"></param> public static void PersistMessagesWithMarten(this JasperSettings settings, string connectionString, string schema = null) { var parent = settings.As <IHasRegistryParent>().Parent; if (!parent.AppliedExtensions.OfType <MartenBackedPersistence>().Any()) { parent.Include <MartenBackedPersistence>(); } settings.Alter <StoreOptions>(x => { x.Connection(connectionString); }); }
public JasperRegistry() { var assembly = this.GetType().GetAssembly(); var isFeature = assembly.GetCustomAttribute <JasperFeatureAttribute>() != null; if (!Equals(assembly, typeof(JasperRegistry).GetAssembly()) && !isFeature) { ApplicationAssembly = assembly; } else { ApplicationAssembly = findTheCallingAssembly(); } Generation = new GenerationConfig($"{ApplicationAssembly.GetName().Name}.Generated"); Logging = new Logging(this); Settings = new JasperSettings(this); }
/// <summary> /// Register sql server backed message persistence to a known connection string /// </summary> /// <param name="settings"></param> /// <param name="connectionString"></param> /// <param name="schema"></param> public static void PersistMessagesWithSqlServer(this JasperSettings settings, string connectionString, string schema = null) { var parent = settings.As <IHasRegistryParent>().Parent; if (!parent.AppliedExtensions.OfType <SqlServerBackedPersistence>().Any()) { parent.Include <SqlServerBackedPersistence>(); } settings.Alter <SqlServerSettings>(x => { x.ConnectionString = connectionString; if (schema.IsNotEmpty()) { x.SchemaName = schema; } }); }
/// <summary> /// If you already know your ApplicationInsights InstrumentationKey, use /// this to set it for the Jasper integration /// </summary> /// <param name="settings"></param> /// <param name="instrumentationKey"></param> public static void ApplicationInsightsKeyIs(this JasperSettings settings, string instrumentationKey) { settings.Alter <ApplicationInsightsSettings>(x => x.InstrumentationKey = instrumentationKey); }
public RegistrySettingsTests() { _registry = new JasperRegistry(); _settings = new JasperSettings(_registry); }
public static void ConfigureMarten(this JasperSettings settings, Action <WebHostBuilderContext, StoreOptions> configuration) { settings.Alter <StoreOptions>(configuration); }
/// <summary> /// Add a new, named Azure Service Bus connection to the application /// </summary> /// <param name="settings"></param> /// <param name="name"></param> /// <param name="connectionString"></param> public static void AddAzureServiceBusConnection(this JasperSettings settings, string name, string connectionString) { settings.Alter <AzureServiceBusOptions>(s => s.Connections.Add(name, connectionString)); }
public static void MartenConnectionStringIs(this JasperSettings settings, string connectionString) { settings.Alter <StoreOptions>(x => x.Connection(connectionString)); }
public static void ConfigureMarten(this JasperSettings settings, Action <StoreOptions> configuration) { settings.Alter(configuration); }
internal PublishingExpression(JasperSettings settings, MessagingConfiguration bus) { _settings = settings; _bus = bus; }
/// <summary> /// Configure the options for the Azure Service Bus transport /// </summary> /// <param name="settings"></param> /// <param name="alteration"></param> public static void ConfigureAzureServiceBus(this JasperSettings settings, Action <AzureServiceBusOptions> alteration) { settings.Alter(alteration); }
/// <summary> /// Register configuration of the Rabbit MQ transport /// </summary> /// <param name="settings"></param> /// <param name="configure"></param> public static void ConfigureRabbitMq(this JasperSettings settings, Action <RabbitMqOptions, IHostingEnvironment, IConfiguration> configure) { settings.Alter <RabbitMqOptions>((context, x) => configure(x, context.HostingEnvironment, context.Configuration)); }
public static void AddRabbitMqHost(this JasperSettings settings, string host, int port = 5672) { var connectionString = $"host={host};port={port}"; settings.Alter <RabbitMqOptions>(s => s.Connections.Add(host, connectionString)); }
/// <summary> /// Register configuration of the Rabbit MQ transport /// </summary> /// <param name="settings"></param> /// <param name="configure"></param> public static void ConfigureRabbitMq(this JasperSettings settings, Action <RabbitMqOptions> configure) { settings.Alter(configure); }
public static void AddRabbitMqConnection(this JasperSettings settings, string connectionName, string connectionString) { settings.Alter <RabbitMqOptions>(s => s.Connections.Add(connectionName, connectionString)); }
/// <summary> /// Configure the options for the Azure Service Bus transport using the system's IConfiguration and IHostingEnvironment /// </summary> /// <param name="settings"></param> /// <param name="alteration"></param> public static void ConfigureAzureServiceBus(this JasperSettings settings, Action <AzureServiceBusOptions, IHostingEnvironment, IConfiguration> alteration) { settings.Alter <AzureServiceBusOptions>((context, x) => alteration(x, context.HostingEnvironment, context.Configuration)); }
public void get_section_name(Type type, string sectionName) { JasperSettings.ConfigSectionNameFor(type).ShouldBe(sectionName); }
public JasperSettingsTests() { _settings = new JasperSettings(new JasperRegistry()); }