Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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;
            }
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
 internal MessageTrackExpression(JasperSettings settings, MessagingConfiguration bus, RoutingScope routingScope, string match)
 {
     _settings     = settings;
     _bus          = bus;
     _routingScope = routingScope;
     _match        = match;
 }
Ejemplo n.º 6
0
 /// <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); });
        }
Ejemplo n.º 9
0
        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;
                }
            });
        }
Ejemplo n.º 11
0
 /// <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);
 }
Ejemplo n.º 12
0
 public RegistrySettingsTests()
 {
     _registry = new JasperRegistry();
     _settings = new JasperSettings(_registry);
 }
Ejemplo n.º 13
0
 public static void ConfigureMarten(this JasperSettings settings, Action <WebHostBuilderContext, StoreOptions> configuration)
 {
     settings.Alter <StoreOptions>(configuration);
 }
Ejemplo n.º 14
0
 /// <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));
 }
Ejemplo n.º 15
0
 public static void MartenConnectionStringIs(this JasperSettings settings, string connectionString)
 {
     settings.Alter <StoreOptions>(x => x.Connection(connectionString));
 }
Ejemplo n.º 16
0
 public static void ConfigureMarten(this JasperSettings settings, Action <StoreOptions> configuration)
 {
     settings.Alter(configuration);
 }
Ejemplo n.º 17
0
 internal PublishingExpression(JasperSettings settings, MessagingConfiguration bus)
 {
     _settings = settings;
     _bus      = bus;
 }
Ejemplo n.º 18
0
 /// <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));
 }
Ejemplo n.º 23
0
 /// <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));
 }
Ejemplo n.º 24
0
 public void get_section_name(Type type, string sectionName)
 {
     JasperSettings.ConfigSectionNameFor(type).ShouldBe(sectionName);
 }
Ejemplo n.º 25
0
 public JasperSettingsTests()
 {
     _settings = new JasperSettings(new JasperRegistry());
 }