Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
AW: [eclipselink-dev] EntityManagerJUnitTestSuite.testLockWithJoinedInheritanceStrategy: NPE

Hi Tom, all,

I have correctly set the driver name in test.properties.

The issue is something different. This is what I have found out so far:

EntityManagerJUnitTestSuite.testLockWithJoinedInheritanceStrategy is the only test failing for me. 

I can reproduce the issue by reducing the testsuite as follows:

    public static Test suite() {
        TestSuite suite = new TestSuite();
        suite.setName("EntityManagerJUnitTestSuite");
        
        suite.addTest(new EntityManagerJUnitTestSuite("testNoPersistOnFlushProperties"));

        suite.addTest(new EntityManagerJUnitTestSuite("testLockWithJoinedInheritanceStrategy"));

        return suite;
    }

It appears that the database passwords are kept in some encrypted form and that the test "testNoPersistOnFlushProperties" confuses the encryption somehow.

"testLockWithJoinedInheritanceStrategy" then fails to create a connection as it attempts to use an encrypted password to connect. 

Anyone any idea on this?


-Adrian

Adrian Görler
SAP AG

Pflichtangaben/Mandatory Disclosure Statements: http://www.sap.com/company/legal/impressum.epx


-----Ursprüngliche Nachricht-----
Von: eclipselink-dev-bounces@xxxxxxxxxxx [mailto:eclipselink-dev-bounces@xxxxxxxxxxx] Im Auftrag von Tom Ware
Gesendet: Dienstag, 1. Dezember 2009 15:14
An: Dev mailing list for Eclipse Persistence Services
Betreff: Re: [eclipselink-dev] EntityManagerJUnitTestSuite.testLockWithJoinedInheritanceStrategy: NPE

Hi Adrian,

   It looks like driverName is null in the call:

                 driver = (Driver)Class.forName(driverName, true, 
Thread.currentThread().getContextClassLoader()).newInstance();

   Driver name should come from a file called test.properties.  There are 
test.properties files in <base>/jpa/eclipselink.jpa.test and 
<base>/foundation/eclipselink.core.test.  Depending on whether you are running 
the jpa tests or the core tests, those files will be used to get the driver 
name.  To override those files, put a file called test.properties in your 
<user-home> directory and override any settings you need to override.

-Tom

Goerler, Adrian wrote:
> Hi,
>  
> executing the JPA LRG tests on MySQL, I am observing the following issue 
> with EntityManagerJUnitTestSuite.testLockWithJoinedInheritanceStrategy:
>  
> Exception Description: DriverWrapper: failed to instantiate null 
> Internal Exception: java.lang.NullPointerException
> 
> Local Exception Stack:
> Exception [EclipseLink-0] (Eclipse Persistence Services - 
> 2.0.0.qualifier): 
> org.eclipse.persistence.testing.framework.TestProblemException
> Exception Description: DriverWrapper: failed to instantiate null
> Internal Exception: java.lang.NullPointerException
> at 
> org.eclipse.persistence.testing.framework.DriverWrapper.getDriver(DriverWrapper.java:191)
> at 
> org.eclipse.persistence.testing.framework.DriverWrapper.connect(DriverWrapper.java:226)
> at java.sql.DriverManager.getConnection(DriverManager.java:582)
> at java.sql.DriverManager.getConnection(DriverManager.java:154)
> at 
> org.eclipse.persistence.sessions.DefaultConnector.connect(DefaultConnector.java:98)
> at 
> org.eclipse.persistence.sessions.DatasourceLogin.connectToDatasource(DatasourceLogin.java:162)
> at 
> org.eclipse.persistence.internal.databaseaccess.DatasourceAccessor.connectInternal(DatasourceAccessor.java:327)
> at 
> org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.connectInternal(DatabaseAccessor.java:294)
> at 
> org.eclipse.persistence.internal.databaseaccess.DatasourceAccessor.connect(DatasourceAccessor.java:415)
> at 
> org.eclipse.persistence.sessions.server.ConnectionPool.buildConnection(ConnectionPool.java:155)
> at 
> org.eclipse.persistence.sessions.server.ConnectionPool.acquireConnection(ConnectionPool.java:97)
> at 
> org.eclipse.persistence.sessions.server.ServerSession.acquireClientConnection(ServerSession.java:241)
> at 
> org.eclipse.persistence.sessions.server.ClientSession.basicBeginTransaction(ClientSession.java:130)
> at 
> org.eclipse.persistence.internal.sessions.AbstractSession.beginTransaction(AbstractSession.java:580)
> at 
> org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.beginTransaction(UnitOfWorkImpl.java:546)
> at 
> org.eclipse.persistence.queries.ObjectLevelReadQuery.executeDatabaseQuery(ObjectLevelReadQuery.java:973)
> at 
> org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:675)
> at 
> org.eclipse.persistence.queries.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:958)
> at 
> org.eclipse.persistence.queries.ReadObjectQuery.execute(ReadObjectQuery.java:399)
> at 
> org.eclipse.persistence.queries.ObjectLevelReadQuery.executeInUnitOfWork(ObjectLevelReadQuery.java:1021)
> at 
> org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2863)
> at 
> org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1225)
> at 
> org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1207)
> at 
> org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1167)
> at 
> org.eclipse.persistence.internal.jpa.EntityManagerImpl.executeQuery(EntityManagerImpl.java:733)
> at 
> org.eclipse.persistence.internal.jpa.EntityManagerImpl.lock(EntityManagerImpl.java:1495)
> at 
> org.eclipse.persistence.testing.tests.jpa.advanced.EntityManagerJUnitTestSuite.testLockWithJoinedInheritanceStrategy(EntityManagerJUnitTestSuite.java:1943)
> at 
> org.eclipse.persistence.testing.framework.junit.JUnitTestCase.runBare(JUnitTestCase.java:428)
> at 
> org.eclipse.persistence.testing.framework.TestExecutor.execute(TestExecutor.java:248)
> at 
> org.eclipse.persistence.testing.framework.TestModel.execute(TestModel.java:208)
> at 
> org.eclipse.persistence.testing.framework.TestCollection.run(TestCollection.java:313)
> Caused by: java.lang.NullPointerException
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Class.java:247)
> at 
> org.eclipse.persistence.testing.framework.DriverWrapper.getDriver(DriverWrapper.java:189)
>  
> So far, I have not been able to hunt it down.
>  
> Is anyone observing this also or knows how to fix this?
>  
> -Adrian
>  
>  
> *Adrian Görler
> **SAP AG
> 
> *Pflichtangaben/Mandatory Disclosure Statements: 
> _http://www.sap.com/company/legal/impressum.epx_
>  
>  
>  
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> eclipselink-dev mailing list
> eclipselink-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/eclipselink-dev
_______________________________________________
eclipselink-dev mailing list
eclipselink-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/eclipselink-dev


Back to the top