Hi, I renamed three of my entity classes using Eclipse's refactoring
functionality, and the console said it was able to enhance all 9 of my
entities just fine.

In addition, I changed the war/WEB-INF/classes/META-INF/
persistence.xml file to now have the update list of my entities. For
reference, this is it verbatim:

<?xml version="1.0" encoding="UTF-8" ?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence";
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
        http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd";
version="1.0">

    <persistence-unit name="transactions-optional">
 
<provider>org.datanucleus.store.appengine.jpa.DatastorePersistenceProvider</
provider>
            <class>com.todoroo.model.Subscription</class>
            <class>com.todoroo.model.CoachReview</class>
            <class>com.todoroo.model.Coach</class>
            <class>com.todoroo.model.AuthToken</class>
            <class>com.todoroo.model.Survey</class>
            <class>com.todoroo.model.Notification</class>
            <class>com.todoroo.model.User</class>
            <class>com.todoroo.model.JSLibrary</class>
            <exclude-unlisted-classes></exclude-unlisted-classes>
        <properties>
            <property name="datanucleus.NontransactionalRead"
value="true"/>
            <property name="datanucleus.NontransactionalWrite"
value="true"/>
            <property name="datanucleus.ConnectionURL"
value="appengine"/>
        </properties>
    </persistence-unit>

</persistence>


But, when running my JUnit tests, I get the following stack trace:

java.lang.ExceptionInInitializerError
        at com.todoroo.dao.impl.GenericDaoImpl.<init>(GenericDaoImpl.java:34)
        at com.todoroo.dao.impl.UserDaoImpl.<init>(UserDaoImpl.java:20)
        at com.todoroo.dao.UserDaoTest.setUp(UserDaoTest.java:16)
        at junit.framework.TestCase.runBare(TestCase.java:132)
        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:79)
        at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run
(JUnit4TestReference.java:46)
        at org.eclipse.jdt.internal.junit.runner.TestExecution.run
(TestExecution.java:38)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests
(RemoteTestRunner.java:467)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests
(RemoteTestRunner.java:683)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run
(RemoteTestRunner.java:390)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main
(RemoteTestRunner.java:197)
Caused by: javax.persistence.PersistenceException: Provider error.
Provider:
org.datanucleus.store.appengine.jpa.DatastorePersistenceProvider
        at javax.persistence.Persistence.createFactory(Persistence.java:176)
        at javax.persistence.Persistence.createEntityManagerFactory
(Persistence.java:112)
        at javax.persistence.Persistence.createEntityManagerFactory
(Persistence.java:66)
        at com.todoroo.util.EMF.<clinit>(EMF.java:14)
        ... 17 more
Caused by: org.datanucleus.metadata.InvalidMetaDataException: Class
com.todoroo.model.User has property subcriptions declared in MetaData,
but its setter method doesnt exist in the class!
        at org.datanucleus.metadata.ClassMetaData.populateMemberMetaData
(ClassMetaData.java:520)
        at org.datanucleus.metadata.ClassMetaData.populate(ClassMetaData.java:
206)
        at org.datanucleus.metadata.MetaDataManager$1.run
(MetaDataManager.java:2317)
        at java.security.AccessController.doPrivileged(Native Method)
        at
org.datanucleus.metadata.MetaDataManager.populateAbstractClassMetaData
(MetaDataManager.java:2311)
        at org.datanucleus.metadata.MetaDataManager.populateFileMetaData
(MetaDataManager.java:2148)
        at
org.datanucleus.metadata.MetaDataManager.initialiseFileMetaDataForUse
(MetaDataManager.java:864)
        at org.datanucleus.metadata.MetaDataManager.loadPersistenceUnit
(MetaDataManager.java:794)
        at org.datanucleus.jpa.EntityManagerFactoryImpl.initialisePMF
(EntityManagerFactoryImpl.java:488)
        at org.datanucleus.jpa.EntityManagerFactoryImpl.<init>
(EntityManagerFactoryImpl.java:355)
        at
org.datanucleus.store.appengine.jpa.DatastoreEntityManagerFactory.<init>
(DatastoreEntityManagerFactory.java:63)
        at
org.datanucleus.store.appengine.jpa.DatastorePersistenceProvider.createEntityManagerFactory
(DatastorePersistenceProvider.java:35)
        at javax.persistence.Persistence.createFactory(Persistence.java:172)
        ... 20 more

Why is this? Nothing has fundamentally changed, just names. I've even
used Eclipse's type reference finder to verify that no place in the
code is referring to the old names anymore. Please help me out here,
as I have searched the forums and found nothing. Thanks in advance!
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google App Engine for Java" group.
To post to this group, send email to google-appengine-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to