Ok, I put up a very simple example app. No example db, but all it has to do
is connect to something with select privs (it just does  select 1). It's
very basic, and I didn't clean the code all that much. Just wanted to get it
out there. Again, this was a quick and dirty fix for what I needed, it
definitely has room for much improvement, which is what I'm looking for
comments on :)

URL is: http://www.blackdood.com/code/ibatisnet/IBatisSpringExample.zip


-Jerome

On 1/8/07, Jerome Gagner <[EMAIL PROTECTED]> wrote:

Oh, then you might like this little class ted:

/*
 * Created by: Jerome Gagner
 * Created: Thursday, December 21, 2006
 */
using System;
using System.Reflection;
using NLog;
using Spring.Context ;
using Spring.Transaction;
using Spring.Transaction.Support;
using NUnit.Framework;

//Load log4net stuff

namespace Test.TestFramework
{
    public abstract class AbstractTransactionalTestCase
    {
        private static Logger log = LogManager.GetCurrentClassLogger();

        /// <summary>
        /// Method for being able to return the application context.
        /// </summary>
        /// <returns></returns>
        public abstract IApplicationContext getApplicationContext();

        //Should do what I think it does
        [ThreadStatic]
        private static ITransactionStatus status = null;

        [SetUp]
        public void setUp()
        {
            log.Debug("Setting up.." );
            //Set up the test case with spring injected dependencies
            Type parent = GetType();
            PropertyInfo[] props = parent.GetProperties();
            foreach (PropertyInfo prop in props)
            {
                if (prop.CanWrite)
                {
                    object val = getApplicationContext().GetObject(
prop.Name);
                    prop.SetValue(this, val, null);
                }
            }

            log.Debug("Starting a transaction...");
            //Start a transaction
            IPlatformTransactionManager txManager =
                (IPlatformTransactionManager)
                getApplicationContext().GetObject("transactionManager");
            DefaultTransactionDefinition def = new
DefaultTransactionDefinition();
            def.PropagationBehavior = TransactionPropagation.RequiresNew;
            status = txManager.GetTransaction(def);
        }

        [TearDown]
        public void tearDown()
        {
            log.Debug("Tearing down");
            log.Debug("Rolling back transaction after test execution...");
            IPlatformTransactionManager txManager =
                (IPlatformTransactionManager)
                getApplicationContext().GetObject("transactionManager");
            txManager.Rollback(status);


        }
    }
}


On 1/8/07, Ted Husted <[EMAIL PROTECTED]> wrote:
>
> We use Spring.NET at work, so I would be interesting in what you are
> doing.
>
> -Ted.
>
> On 1/8/07, Jerome Gagner <[EMAIL PROTECTED]> wrote:
> > I need to clean up the code a bit, it was a quick and dirty
> implementation
> > but I think the community could benefit a bit from it. I'll try and
> post it
> > tonight.
> >
> >
> > On 1/8/07, Ron Grabowski <[EMAIL PROTECTED] > wrote:
> > > Post the code to a JIRA ticket or on a website somewhere. In case
> you're
> > curious, here's how IBatisNet integrates with Castle's IoC container:
> > >
> > >
> > >
> > >
> > 
http://svn.castleproject.org:8080/svn/castle/trunk/Facilities/IBatisNet/Castle.Facilities.IBatisNetIntegration/
>
> > >
> > >
> > >
> > > ----- Original Message ----
> > >
> > > From: Jerome Gagner < [EMAIL PROTECTED]>
> > >
> > > To: dev@ibatis.apache.org
> > >
> > > Sent: Monday, January 8, 2007 1:46:02 AM
> > >
> > > Subject: Spring .NET Integration for iBatis .NET
> > >
> > > Hello All,
> > >
> > > I recently implemented functionality similar to the Spring/iBatis
> Java
> > integration (SqlMapClient and SqlMapClientTemplate) with Spring .NET
> and
> > iBatis .NET.  I have also gotten permission to release this back. I'm
> > probably going to submit to Spring .NET but I was interested if anyone
> on
> > the iBatis side would be willing to review and give pointers before
> doing
> > so?
>


Reply via email to