예제 #1
0
        public void GetSaoWithSingletonModeAndAop()
        {
            IApplicationContext ctx = new XmlApplicationContext("assembly://Spring.Services.Tests/Spring.Data.Spring.Remoting/saoSingleton-aop.xml");

            ContextRegistry.RegisterContext(ctx);

            //object saoFactory = ctx.GetObject("&remoteCounter");
            //Assert.IsNotNull(saoFactory);

            object obj = ctx.GetObject("remoteCounter");

            Assert.IsNotNull(obj, "Object is null even though a object has been exported.");
            Assert.IsTrue(AopUtils.IsAopProxy(obj));
            Assert.IsTrue((obj is ISimpleCounter), "Object should implement 'ISimpleCounter' interface.");


            MethodCounter aopCounter = ctx.GetObject("countingBeforeAdvice") as MethodCounter;

            Assert.IsNotNull(aopCounter);

            int aopCount = aopCounter.GetCalls("Count");

            Assert.AreEqual(0, aopCount);

            ISimpleCounter sc = (ISimpleCounter)obj;

            Assert.AreEqual(1, sc.Counter, "Remote object hasn't been activated by the server.");
            sc.Count();
            Assert.AreEqual(2, sc.Counter, "Remote object doesn't work in a 'Singleton' mode.");
            Assert.AreEqual(1, aopCounter.GetCalls("Count"));
        }
예제 #2
0
        public void TestInitialize()
        {
            IApplicationContext ctx = new XmlApplicationContext(
                "assembly://InProcess.UnitTests/InProcess.UnitTests.Config/Messaging.xml");

            _topicBus = (ITopicBus)ctx.GetObject("DefaultTopicBus");
        }
예제 #3
0
        public void LetsAutoWireByName()
        {
            var ctx   = new XmlApplicationContext("AutoWireByName/objects.xml");
            var texte = (Texte)ctx.GetObject("texte");

            texte.Print();
        }
예제 #4
0
        public void UseSpecifiedObjectNameGenerator()
        {
            _applicationContext = new XmlApplicationContext(ReadOnlyXmlTestResource.GetFilePath("ConfigFiles.ComponentScan3.xml", GetType()));
            var objectDefinitionNames = _applicationContext.ObjectFactory.GetObjectDefinitionNames();

            Assert.That(objectDefinitionNames.Contains("prototype"), Is.True);
        }
예제 #5
0
        public void ComponentsLazyLoaded()
        {
            _applicationContext = new XmlApplicationContext(ReadOnlyXmlTestResource.GetFilePath("ConfigFiles.ComponentScan4.xml", GetType()));
            var objectDefinition = _applicationContext.ObjectFactory.GetObjectDefinition("LazyInit");

            Assert.That(objectDefinition.IsLazyInit, Is.True);
        }
예제 #6
0
        public void ComponentsUseDefaults()
        {
            _applicationContext = new XmlApplicationContext(ReadOnlyXmlTestResource.GetFilePath("ConfigFiles.ComponentScan5.xml", GetType()));
            var prototypeDef = _applicationContext.ObjectFactory.GetObjectDefinition("Prototype");

            Assert.That(prototypeDef.IsLazyInit, Is.True);
        }
예제 #7
0
        public void ComponentsUseDefaultAutoWire()
        {
            _applicationContext = new XmlApplicationContext(ReadOnlyXmlTestResource.GetFilePath("ConfigFiles.ComponentScan5.xml", GetType()));
            var prototypeDef = _applicationContext.ObjectFactory.GetObjectDefinition("Prototype");

            Assert.That(prototypeDef.AutowireMode == AutoWiringMode.ByName);
        }
예제 #8
0
        public void GatewayWithConnectionFactoryAndDestinationName()
        {
            XmlApplicationContext ctx =
                (XmlApplicationContext)
                NmsTestUtils.GetContext(@"Nms\Config\NmsGatewayWithConnectionFactoryAndDestinationName.xml");
            IPollableChannel         channel = (IPollableChannel)ctx.GetObject("requestChannel");
            NmsMessageDrivenEndpoint gateway = (NmsMessageDrivenEndpoint)ctx.GetObject("nmsGateway");

            Assert.That(gateway.GetType(), Is.EqualTo(typeof(NmsMessageDrivenEndpoint)));
            ctx.Start();

            ThreadPerTaskExecutor executor = new ThreadPerTaskExecutor();

            executor.Execute(delegate
            {
                SimpleMessageListenerContainer listenerContainer =
                    (SimpleMessageListenerContainer)
                    ctx.GetObject("Spring.Messaging.Nms.Listener.SimpleMessageListenerContainer#0");
                ISessionAwareMessageListener messageListener =
                    (ISessionAwareMessageListener)listenerContainer.MessageListener;
                messageListener.OnMessage(new StubTextMessage("message-driven-test"),
                                          new StubSession("message-driven-test"));
            });

            IMessage message = channel.Receive(TimeSpan.FromMilliseconds(3000));

            Assert.That(message, Is.Not.Null);
            Assert.That(message.Payload, Is.EqualTo("message-driven-test"));
            ctx.Stop();
        }
예제 #9
0
        public void Main()
        {
            var ctx = new XmlApplicationContext("objects.xml");
            var o   = ctx.GetObject("MyObject");

            Console.WriteLine(o);
        }
예제 #10
0
        public IEnumerable <Rol> ObtenerRolesPorIdUsuario(int idUsuario)
        {
            IUsuario administradorUsuario = null;

            try
            {
                var ctx = new XmlApplicationContext("~/Modulo Seguridad/Springs/SpringUsuario.xml");
                administradorUsuario = (IUsuario)ctx["AdministradorUsuario"];
                var roles = administradorUsuario.ObtenerRolesPorIdUsuario(idUsuario);
                return(roles.ToList());
            }
            catch (FaultException)
            {
                throw;
            }
            catch (Exception ex)
            {
                ThrowsExceptionParaLogError.LoguearError($"Mensaje : {ex.Message}///Excepción Interna : {ex.InnerException}///Pila de Seguimiento : {ex.StackTrace}///Fuente : {ex.Source}///Link : {ex.HelpLink}");
                throw;
            }
            finally
            {
                if (administradorUsuario != null)
                {
                    administradorUsuario.LiberarRecursos();
                }
            }
        }
예제 #11
0
        public IEnumerable <Usuario> ObtenerUsuariosPorCriteriosBusqueda(Dictionary <Busqueda, string> criteriosBusqueda, int indicePagina)
        {
            IUsuario administradorUsuario = null;

            try
            {
                var ctx = new XmlApplicationContext("~/Modulo Seguridad/Springs/SpringUsuario.xml");
                administradorUsuario = (IUsuario)ctx["AdministradorUsuario"];
                var usuarios = administradorUsuario.ObtenerUsuariosPorCriteriosBusqueda(criteriosBusqueda, indicePagina);
                return(usuarios.ToList());
            }
            catch (FaultException)
            {
                throw;
            }
            catch (Exception ex)
            {
                ThrowsExceptionParaLogError.LoguearError($"Mensaje : {ex.Message}///Excepción Interna : {ex.InnerException}///Pila de Seguimiento : {ex.StackTrace}///Fuente : {ex.Source}///Link : {ex.HelpLink}");
                throw;
            }
            finally
            {
                if (administradorUsuario != null)
                {
                    administradorUsuario.LiberarRecursos();
                }
            }
        }
예제 #12
0
        public void CerrarSesion(long idSesion)
        {
            IUsuario administradorUsuario = null;

            try
            {
                var ctx = new XmlApplicationContext("~/Modulo Seguridad/Springs/SpringUsuario.xml");
                administradorUsuario = (IUsuario)ctx["AdministradorUsuario"];
                administradorUsuario.CerrarSesion(idSesion);
            }
            catch (FaultException)
            {
                throw;
            }
            catch (Exception ex)
            {
                ThrowsExceptionParaLogError.LoguearError($"Mensaje : {ex.Message}///Excepción Interna : {ex.InnerException}///Pila de Seguimiento : {ex.StackTrace}///Fuente : {ex.Source}///Link : {ex.HelpLink}");
                throw;
            }
            finally
            {
                if (administradorUsuario != null)
                {
                    administradorUsuario.LiberarRecursos();
                }
            }
        }
예제 #13
0
        private static void Main(string[] args)
        {
            try
            {
                IApplicationContext ctx = new XmlApplicationContext("ApplicationContext.xml");

                HelloWorld helloWorld = (HelloWorld)ctx.GetObject("HelloWorld");
                helloWorld.GreetWorld(args);
            }
            catch (Exception ex)
            {
                Console.WriteLine("hit enter to exit");
                Console.ReadLine();
            }

            /*
             * DistributedSystem system = DistributedSystem.Connect("dist", GemStone.GemFire.Cache.Properties.Create());
             * Cache cache = CacheFactory.Create("cache", system);
             * cache.Close();
             * Console.WriteLine("calling disconnect");
             * DistributedSystem.Disconnect();
             * Console.WriteLine("Done. Hit enter to exit");
             * Console.ReadLine();
             */
        }
예제 #14
0
        private void CargarRecetas()
        {
            var ctx = new XmlApplicationContext("~/Springs/SpringReceta.xml");
            var administradorReceta = (IReceta)ctx["AdministradorReceta"];

            Recetas = new ObservableCollection <RECETA>(administradorReceta.ObtenerRecetas().OrderBy(i => i.NOMBRE));
            administradorReceta.LiberarRecursos();
        }
예제 #15
0
        private void CargarStock()
        {
            var ctx = new XmlApplicationContext("~/Springs/SpringStock.xml");
            var administradorStock = (IStock)ctx["AdministradorStock"];

            Stocks = new ObservableCollection <Stock>(administradorStock.ObtenerStockItems().OrderBy(s => s.NombreItem));
            administradorStock.LiberarRecursos();
        }
예제 #16
0
        private void CargarItems()
        {
            var ctx = new XmlApplicationContext("~/Springs/SpringItem.xml");
            var administradorItem = (IItem)ctx["AdministradorItem"];

            Items = new ObservableCollection <ITEM>(administradorItem.ObtenerItems().OrderBy(i => i.NOMBRE));
            administradorItem.LiberarRecursos();
        }
예제 #17
0
        public void ContainerLoadsXmlFromEmbeddedResource()
        {
            var            context = new XmlApplicationContext("assembly://Ploeh.Samples.Menu.SpringNet/Ploeh.Samples.Menu.SpringNet/sauce.xml");
            SauceBéarnaise sauce   =
                (SauceBéarnaise)context.GetObject("Sauce");

            Assert.NotNull(sauce);
        }
예제 #18
0
        public void ContainerLoadsXmlFromHttp()
        {
            var            context = new XmlApplicationContext("http://localhost/sauce.xml");
            SauceBéarnaise sauce   =
                (SauceBéarnaise)context.GetObject("Sauce");

            Assert.NotNull(sauce);
        }
예제 #19
0
        public void ContainerLoadsXmlFromFileMoniker()
        {
            var            context = new XmlApplicationContext("file://sauce.xml");
            SauceBéarnaise sauce   =
                (SauceBéarnaise)context.GetObject("Sauce");

            Assert.NotNull(sauce);
        }
예제 #20
0
        public void ContainerLoadsXmlFromConfig()
        {
            var            context = new XmlApplicationContext("config://spring/objects");
            SauceBéarnaise sauce   =
                (SauceBéarnaise)context.GetObject("Sauce");

            Assert.NotNull(sauce);
        }
예제 #21
0
        public void ResolveServicesWithSameTransientDependency()
        {
            var context = new XmlApplicationContext("ResolveServicesWithSameTransientDependency.xml");
            var c       = (Course)context.GetObject("Course");

            Assert.NotSame(c.Ingredients.OfType <Vinaigrette>().Single().Oil,
                           c.Ingredients.OfType <Mayonnaise>().Single().Oil);
        }
예제 #22
0
        public void RegisterUnnamedIngredientsAndResolveByInterface()
        {
            var context     = new XmlApplicationContext("RegisterUnnamedIngredientsAndResolveByInterface.xml");
            var ingredients = context.GetObjectsOfType(typeof(IIngredient));

            Assert.True(ingredients.Values.OfType <Steak>().Any());
            Assert.True(ingredients.Values.OfType <SauceBéarnaise>().Any());
        }
예제 #23
0
        public void RegisterSauceBéarnaiseAsTransient()
        {
            var context = new XmlApplicationContext("RegisterSauceBéarnaiseAsTransient.xml");
            var sauce1  = (SauceBéarnaise)context.GetObject("Sauce");
            var sauce2  = (SauceBéarnaise)context.GetObject("Sauce");

            Assert.NotSame(sauce1, sauce2);
        }
예제 #24
0
        public void ImplicitlyRegisterSauceBéarnaiseAsSingleton()
        {
            var context = new XmlApplicationContext("ImplicitlyRegisterSauceBéarnaiseAsSingleton.xml");
            var sauce1  = (SauceBéarnaise)context.GetObject("Sauce");
            var sauce2  = (SauceBéarnaise)context.GetObject("Sauce");

            Assert.Same(sauce1, sauce2);
        }
예제 #25
0
        public void ContainerResolvesSauceBéarnaiseFromTypeAlias()
        {
            var            context = new XmlApplicationContext("SauceWithTypeAlias.xml");
            SauceBéarnaise sauce   =
                (SauceBéarnaise)context.GetObject("Sauce");

            Assert.NotNull(sauce);
        }
예제 #26
0
        public void RegisterMultipleImplementationsOfTheSameType()
        {
            var context     = new XmlApplicationContext("RegisterMultipleImplementationsOfTheSameType.xml");
            var ingredients = (IEnumerable <IIngredient>)context.GetObject("Ingredients");

            Assert.True(ingredients.OfType <Steak>().Any());
            Assert.True(ingredients.OfType <SauceBéarnaise>().Any());
        }
예제 #27
0
        public void Main()
        {
            var ctx = new XmlApplicationContext("objects.xml");
            var o1  = ctx.GetObject("SingletonObject");
            var o2  = ctx.GetObject("ProtoTypeObject");

            ctx.Dispose();
        }
예제 #28
0
        public async Task TestSchedulerRepositoryExposure()
        {
            XmlApplicationContext ctx = new XmlApplicationContext("schedulerRepositoryExposure.xml");
            var expected = await SchedulerRepository.Instance.Lookup("myScheduler");

            Assert.AreSame(expected, ctx.GetObject("scheduler"));
            ctx.Dispose();
        }
예제 #29
0
        public void SetUp()
        {
            IApplicationContext ctx =
                new XmlApplicationContext(
                    "assembly://Spring.Data.Integration.Tests/Spring.Data.Generic/GenericAdoTemplateTests.xml");

            adoTemplate = ctx["adoTemplate"] as AdoTemplate;
        }
예제 #30
0
        public void AfterThrowing(OptimisticConcurrencyException ex)
        {
            var ctx        = new XmlApplicationContext("~/Springs/ErrorSpring.xml");
            var errorAdmin = (IErrorBl)ctx["ErrorAdmin"];

            errorAdmin.RegistrarErrorServicio(ex.Message, string.Format("MENSAJE :{0}///EXCEPCION INTERNA : {1}///DATA : {2} ///FUENTE : {3}///SITIO_DESTINO : {4}///SEGUIMIENTO DE PILA : {5}", ex.Message, ex.InnerException, ex.Data, ex.Source, ex.TargetSite, ex.StackTrace));
            throw new FaultException <Exception>(ex, new FaultReason("Los datos que desea modificar han cambiado. Por favor regrese a la vista principal de datos e intente nuevamente."));
        }
예제 #31
0
 public IEnumerable<IFacetHandler> LoadFacetHandlers(string springConfigFile, BoboIndexReader.WorkArea workArea)
 {
     if (File.Exists(springConfigFile))
     {
         XmlApplicationContext appCtx = new XmlApplicationContext(springConfigFile);
         return appCtx.GetObjectsOfType(typeof(IFacetHandler)).Values.OfType<IFacetHandler>().ToList();
     }
     else
     {
         return new List<IFacetHandler>();
     }
 }