Beispiel #1
0
 /// <summary>
 /// Registers SolrNet's NHibernate listeners
 /// </summary>
 /// <param name="config">NHibernate configuration</param>
 /// <param name="autoCommit">if set to <c>true</c> [auto commit].</param>
 /// <param name="parameters">The add parameters to use when adding a document to the index.</param>
 /// <returns></returns>
 public Configuration Configure(Configuration config, bool autoCommit, AddParameters parameters) {
     foreach (var t in mapper.GetRegisteredTypes()) {
         var listenerType = typeof (SolrNetListener<>).MakeGenericType(t);
         var solrType = typeof (ISolrOperations<>).MakeGenericType(t);
         var solr = provider.GetService(solrType);
         var listener = (IListenerSettings) Activator.CreateInstance(listenerType, solr);
         listener.Commit = autoCommit;
         listener.AddParameters = parameters;
         NHHelper.SetListener(config, listener);
     }
     return config;
 }
Beispiel #2
0
        public void Configure_with_addparameters() {
            var nhConfig = ConfigurationExtensions.GetNhConfig();
            var mapper = new MReadOnlyMappingManager();
            mapper.getRegisteredTypes += () => new[] {typeof (Entity)};
            var solr = new MSolrOperations<Entity>();

            var provider = new MServiceProvider();
            provider.getService += MServiceLocator.Table(new Dictionary<System.Type, object> {
                {typeof(IReadOnlyMappingManager), mapper},
                {typeof(ISolrOperations<Entity>), solr},
            });

            var addParameters = new AddParameters {CommitWithin = 4343};
            var helper = new CfgHelper(provider);
            helper.Configure(nhConfig, true, addParameters);
            var listener = nhConfig.EventListeners.PostInsertEventListeners[0];
            Assert.IsInstanceOfType<SolrNetListener<Entity>>(listener);
            Assert.AreEqual(addParameters, ((IListenerSettings)listener).AddParameters);
        }
Beispiel #3
0
 public void Configure_with_addparameters()
 {
     var nhConfig = ConfigurationExtensions.GetNhConfig();
     var provider = MockRepository.GenerateMock<IServiceProvider>();
     var mapper = MockRepository.GenerateMock<IReadOnlyMappingManager>();
     mapper.Expect(x => x.GetRegisteredTypes()).Return(new[] {typeof (Entity)});
     var solr = MockRepository.GenerateMock<ISolrOperations<Entity>>();
     provider.Expect(x => x.GetService(typeof (IReadOnlyMappingManager))).Return(mapper);
     provider.Expect(x => x.GetService(typeof (ISolrOperations<Entity>))).Return(solr);
     var addParameters = new AddParameters {CommitWithin = 4343};
     var helper = new CfgHelper(provider);
     helper.Configure(nhConfig, true, addParameters);
     var listener = nhConfig.EventListeners.PostInsertEventListeners[0];
     Assert.That(listener, Is.InstanceOf<SolrNetListener<Entity>>());
     Assert.AreEqual(addParameters, ((IListenerSettings)listener).AddParameters);
 }