Anyone have any ideas why I would be getting the following
NullPointerException on the flush() in BaseDaoTestCase?

DEBUG [main] RoleDaoTest.testUpdateRole(11) | testUpdateRole()...
DEBUG [main] RoleDaoHibernate.getRoleByName(44) | getRoleByName: from Role
where name='ROLE_USER'
DEBUG [main] SQL.log(401) | select role0_.ID as ID1_, role0_.version as
version1_, role0_.NAME as NAME1_, role0_.DESCRIPTION as DESCRIPT4_1_ from
GDEV.TGADATA.ROLE role0_ where role0_.NAME=?
Hibernate: select role0_.ID as ID1_, role0_.version as version1_,
role0_.NAME as NAME1_, role0_.DESCRIPTION as DESCRIPT4_1_ from
GDEV.TGADATA.ROLE role0_ where role0_.NAME=?
DEBUG [main] RoleDaoHibernate.save(97) | role's id: 2
DEBUG [main] RoleDaoHibernate.save(106) | Ignoring NullPointerException for
flush()
ERROR [main] RoleDaoTest.flush(70) | Error: null
java.lang.NullPointerException
        at org.hibernate.type.IntegerType.next(IntegerType.java:59)
        at org.hibernate.engine.Versioning.increment(Versioning.java:108)
        at
org.hibernate.event.def.DefaultFlushEntityEventListener.getNextVersion(DefaultFlushEntityEventListener.java:365)
        at
org.hibernate.event.def.DefaultFlushEntityEventListener.scheduleUpdate(DefaultFlushEntityEventListener.java:257)
        at
org.hibernate.event.def.DefaultFlushEntityEventListener.onFlushEntity(DefaultFlushEntityEventListener.java:128)
        at
org.hibernate.event.def.AbstractFlushingEventListener.flushEntities(AbstractFlushingEventListener.java:196)
        at
org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:76)
        at
org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:26)
        at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
        at
org.springframework.orm.hibernate3.HibernateTemplate$27.doInHibernate(HibernateTemplate.java:818)
        at
org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:373)
        at
org.springframework.orm.hibernate3.HibernateTemplate.flush(HibernateTemplate.java:816)
        at 
com.centricgroup.core.dao.BaseDaoTestCase.flush(BaseDaoTestCase.java:67)
        at
com.centricgroup.core.dao.RoleDaoTest.testUpdateRole(RoleDaoTest.java:15)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at junit.framework.TestCase.runTest(TestCase.java:168)
        at junit.framework.TestCase.runBare(TestCase.java:134)
        at
org.springframework.test.ConditionalTestCase.runBare(ConditionalTestCase.java:76)
        at junit.framework.TestResult$1.protect(TestResult.java:110)
        at junit.framework.TestResult.runProtected(TestResult.java:128)
        at junit.framework.TestResult.run(TestResult.java:113)
        at junit.framework.TestCase.run(TestCase.java:124)
        at junit.framework.TestSuite.runTest(TestSuite.java:232)
        at junit.framework.TestSuite.run(TestSuite.java:227)
        at
org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:81)
        at
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:38)
        at
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
        at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
        at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
        at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
        at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
DEBUG [main] RoleDaoHibernate.getRoleByName(44) | getRoleByName: from Role
where name='ROLE_USER'
ERROR [main] RoleDaoHibernate.getRoleByName(63) | NPE Error: null


Here is the pertinent part of the Test class - 
public class RoleDaoTest extends BaseDaoTestCase {
    
        private RoleDao roleDao;
    
    public void testUpdateRole() throws Exception {
        log.debug("testUpdateRole()...");
        Role role = roleDao.getRoleByName("ROLE_USER");
        role.setDescription("test descr");
        roleDao.save(role);
        flush();
        
        role = roleDao.getRoleByName("ROLE_USER");
        assertEquals("test descr", role.getDescription());
    }

Here is the BaseDaoTestCase
public class BaseDaoTestCase 
        extends AbstractTransactionalDataSourceSpringContextTests {
...
    protected void flush() {
        try {
                HibernateTemplate hibernateTemplate =
                        new HibernateTemplate((SessionFactory) 
                                        
applicationContext.getBean("sessionFactory1"));
                hibernateTemplate.flush();
                hibernateTemplate.clear();
        } catch(NullPointerException npe) {
                log.error("Error: " + npe.getMessage());
                npe.printStackTrace();
        }
    }

Here is the Hibernate DAO implementation - 
public class RoleDaoHibernate extends HibernateDaoSupport
                implements RoleDao {
...
    public Role getRoleByName(String rolename) {
        
        try {

                List roles = getHibernateTemplate().find("from Role where 
name=?",
                                rolename);

                if (roles.isEmpty()) {
                    return null;
                } else {
                    return (Role) roles.get(0);
                }
        } catch(SQLGrammarException sge) {
                log.error("SQL Grammar Error: " + sge.getMessage());
                sge.printStackTrace();
                return null;
        } catch(NullPointerException npe) {
                log.error("NPE Error: " + npe.getMessage());
                npe.printStackTrace();
                return null;
        }
        
    }

*Note - The hibernate dialect is DB2400

THX,



-- 
View this message in context: 
http://www.nabble.com/NullPointerException-in-flush%28%29-tp18080211s2369p18080211.html
Sent from the AppFuse - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to