no.abmu.finances.domain.AbstractLocalHibernate3Test.java Source code

Java tutorial

Introduction

Here is the source code for no.abmu.finances.domain.AbstractLocalHibernate3Test.java

Source

/*
 ****************************************************************************
 *                                                                          *
 *                   (c) Copyright 2006 ABM-utvikling                        *
 *                                                                          *
 * This program is free software; you can redistribute it and/or modify it  *
 * under the terms of the GNU General Public License as published by the    *
 * Free Software Foundation; either version 2 of the License, or (at your   *
 * option) any later version.                                               *
 *                                                                          *
 * This program is distributed in the hope that it will be useful, but      *
 * WITHOUT ANY WARRANTY; without even the implied warranty of               *
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General *
 * Public License for more details. http://www.gnu.org/licenses/gpl.html    *
 *                                                                          *
 ****************************************************************************
 */
package no.abmu.finances.domain;

import junit.framework.TestCase;
import no.abmu.organisationregister.domain.BankAccountNumber;
import no.abmu.organisationregister.domain.ContactPerson;
import no.abmu.organisationregister.domain.ContactRelation;
import no.abmu.organisationregister.domain.ContactRole;
import no.abmu.organisationregister.domain.Country;
import no.abmu.organisationregister.domain.CountryName;
import no.abmu.organisationregister.domain.EmailAddress;
import no.abmu.organisationregister.domain.ExtendedContactPerson;
import no.abmu.organisationregister.domain.FaxNumber;
import no.abmu.organisationregister.domain.Muncipality;
import no.abmu.organisationregister.domain.MuncipalityRelation;
import no.abmu.organisationregister.domain.OrganisationName;
import no.abmu.organisationregister.domain.OrganisationRelation;
import no.abmu.organisationregister.domain.OrganisationRelationRole;
import no.abmu.organisationregister.domain.OrganisationType;
import no.abmu.organisationregister.domain.OrganisationTypeName;
import no.abmu.organisationregister.domain.OrganisationTypeRelation;
import no.abmu.organisationregister.domain.OrganisationUnit;
import no.abmu.organisationregister.domain.POBoxAddress;
import no.abmu.organisationregister.domain.StreetAddress;
import no.abmu.organisationregister.domain.TelephoneNumber;
import no.abmu.organisationregister.domain.WebAddress;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.cfg.Environment;
import org.hibernate.dialect.HSQLDialect;
import org.springframework.orm.hibernate3.SessionFactoryUtils;
import org.springframework.orm.hibernate3.SessionHolder;
import org.springframework.transaction.support.TransactionSynchronizationManager;

/**
 * AbstractLocalTest.
 * 
 * @author Erik Romson, erik@zenior.no
 * @author $Author: jan.magne $
 * @version $Rev: 12470 $
 * @date $Date: 2009-01-06 19:41:44 +0100 (Tue, 06 Jan 2009) $
 * @copyright ABM-Utvikling
 */
public class AbstractLocalHibernate3Test extends TestCase {

    private static final Log logger = (Log) LogFactory.getLog(AbstractLocalTest.class);

    protected Session session, session2;
    protected Transaction transaction;
    protected SessionFactory sessionFactory;

    protected void setUp() throws Exception {
        AnnotationConfiguration configuration = new AnnotationConfiguration();
        configuration.setProperty(Environment.DRIVER, "org.hsqldb.jdbcDriver");
        configuration.setProperty(Environment.URL, "jdbc:hsqldb:mem:financeH3");
        configuration.setProperty(Environment.USER, "sa");
        configuration.setProperty(Environment.DIALECT, HSQLDialect.class.getName());
        configuration.setProperty(Environment.SHOW_SQL, "false");
        configuration.setProperty(Environment.HBM2DDL_AUTO, "create-drop");
        configuration.setProperty(Environment.STATEMENT_BATCH_SIZE, "0");
        configuration.setProperty("hibernate.cache.use_second_level_cache", "false");

        configuration.addClass(ReportSchema.class);

        configuration.addClass(Account.class);
        configuration.addClass(Post.class);
        configuration.addClass(PostPeriod.class);
        configuration.addClass(PostType.class);
        configuration.addClass(PostValidator.class);

        configuration.addClass(ReportData.class);
        configuration.addClass(PostData.class);
        configuration.addClass(SubReportDataList.class);

        configuration.addClass(AccountOrgUnitMapping.class);
        configuration.addClass(ReportDataOrgUnitMapping.class);

        configuration.addAnnotatedClass(ContactRole.class);
        configuration.addAnnotatedClass(CountryName.class);
        configuration.addAnnotatedClass(OrganisationName.class);
        configuration.addAnnotatedClass(OrganisationRelationRole.class);
        configuration.addAnnotatedClass(OrganisationTypeName.class);
        configuration.addAnnotatedClass(POBoxAddress.class);
        configuration.addAnnotatedClass(StreetAddress.class);
        configuration.addAnnotatedClass(ExtendedContactPerson.class);
        configuration.addAnnotatedClass(BankAccountNumber.class);
        configuration.addAnnotatedClass(ContactPerson.class);
        configuration.addAnnotatedClass(EmailAddress.class);
        configuration.addAnnotatedClass(FaxNumber.class);
        configuration.addAnnotatedClass(TelephoneNumber.class);
        configuration.addAnnotatedClass(WebAddress.class);
        configuration.addAnnotatedClass(Muncipality.class);
        configuration.addAnnotatedClass(Country.class);
        configuration.addAnnotatedClass(MuncipalityRelation.class);
        configuration.addAnnotatedClass(OrganisationType.class);
        configuration.addAnnotatedClass(OrganisationTypeRelation.class);
        configuration.addAnnotatedClass(ContactRelation.class);
        configuration.addAnnotatedClass(OrganisationRelation.class);
        configuration.addAnnotatedClass(OrganisationUnit.class);

        String[] arr = configuration.generateSchemaCreationScript(new HSQLDialect());

        sessionFactory = configuration.buildSessionFactory();
        session = sessionFactory.openSession();
        session2 = sessionFactory.openSession();

        this.session = SessionFactoryUtils.getSession(sessionFactory, true);
        TransactionSynchronizationManager.bindResource(sessionFactory, new SessionHolder(session));
    }

    public void testDummy() {

    }

    protected void tearDown() throws Exception {
        TransactionSynchronizationManager.unbindResource(sessionFactory);
        SessionFactoryUtils.releaseSession(session, sessionFactory);
        SessionFactoryUtils.releaseSession(session2, sessionFactory);
    }

}