[ http://issues.apache.org/jira/browse/OPENJPA-42?page=comments#action_12433877 ] Thomas Risberg commented on OPENJPA-42: ---------------------------------------
You are right about the <attribute-override> - got to read the spec more carefully :) I have been testing the recent MVN version 442043. I can run without an orm.xml file included but as soon as I include some additional mappings in an orm.xml file I get errors. Here is some recent output: This is the command I use to execute: java -javaagent:./lib/openjpa-kernel-5-0.9.0-incubating-SNAPSHOT.jar -Dfile.encoding=MacRoman -classpath ./classes:./lib/openjpa-jdbc-0.9.0-incubating-SNAPSHOT.jar:./lib/openjpa-persistence-0.9.0-incubating-SNAPSHOT.jar:./lib/openjpa-lib-0.9.0-incubating-SNAPSHOT.jar:./lib/openjpa-kernel-5-0.9.0-incubating-SNAPSHOT.jar:./lib/commons-collections-3.2.jar:./lib/geronimo-jta_1.0.1B_spec-1.0.1.jar:./lib/geronimo-j2ee-connector_1.5_spec-1.0.1.jar:./lib/commons-pool-1.3.jar:./lib/serp-1.11.0.jar:./lib/hsqldb.jar:./lib/persistence-api-1.0.jar:./lib/commons-logging-1.0.4.jar:./lib/commons-dbcp-1.2.1.jar:./lib/openjpa-persistence-jdbc-0.9.0-incubating-SNAPSHOT.jar:./lib/commons-lang-2.1.jar:./lib/openjpa-kernel-0.9.0-incubating-SNAPSHOT.jar:./lib/openjpa-jdbc-5-0.9.0-incubating-SNAPSHOT.jar springdeveloper.TestApp persistence.xml: ================ <?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="main" transaction-type="RESOURCE_LOCAL"> <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider> </persistence-unit> </persistence> orm.xml: ======== <?xml version="1.0" encoding="UTF-8"?> <entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm http://java.sun.com/xml/ns/persistence/orm_1_0.xsd" version="1.0"> <package>springdeveloper.domain</package> <entity class="Client" metadata-complete="false" access="FIELD"> </entity> <entity class="Manager" metadata-complete="false" access="FIELD"> <attributes> <basic name="description"> <column name="DESCR"/> </basic> </attributes> </entity> </entity-mappings> run: ==== 739 INFO [main] openjpa.MetaData - Found 2 classes with metadata in 17 milliseconds. TestApp! 364 INFO [main] openjpa.Runtime - Starting OpenJPA 0.9.0-incubating-SNAPSHOT 2353 INFO [main] openjpa.MetaData - Parsing resource "file:/Users/trisberg/Projects/plainJpa/classes/META-INF/orm.xml". 2787 INFO [main] openjpa.MetaData - Parsing class "springdeveloper.domain.Client". 2874 WARN [main] openjpa.Enhance - An exception was thrown while attempting to perform class file transformation on "springdeveloper/domain/Manager": java.lang.ClassCircularityError: springdeveloper/domain/Manager at java.lang.Class.getDeclaredFields0(Native Method) at java.lang.Class.privateGetDeclaredFields(Class.java:2232) at java.lang.Class.getDeclaredFields(Class.java:1715) at org.apache.openjpa.meta.AbstractMetaDataDefaults.populateFromReflection(AbstractMetaDataDefaults.java:176) at org.apache.openjpa.meta.AbstractMetaDataDefaults.populate(AbstractMetaDataDefaults.java:128) at org.apache.openjpa.persistence.PersistenceMetaDataDefaults.populate(PersistenceMetaDataDefaults.java:182) at org.apache.openjpa.meta.MetaDataRepository.addMetaData(MetaDataRepository.java:736) at org.apache.openjpa.persistence.XMLPersistenceMetaDataParser.startClass(XMLPersistenceMetaDataParser.java:720) at org.apache.openjpa.lib.meta.CFMetaDataParser.startElement(CFMetaDataParser.java:101) at org.apache.openjpa.lib.meta.XMLMetaDataParser.startElement(XMLMetaDataParser.java:427) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:533) at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.startElement(XMLSchemaValidator.java:708) at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:330) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1693) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:368) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:834) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764) at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:148) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1242) at javax.xml.parsers.SAXParser.parse(SAXParser.java:375) at org.apache.openjpa.lib.meta.XMLMetaDataParser.parseNewResource(XMLMetaDataParser.java:371) at org.apache.openjpa.lib.meta.XMLMetaDataParser.parse(XMLMetaDataParser.java:312) at org.apache.openjpa.lib.meta.XMLMetaDataParser.parse(XMLMetaDataParser.java:289) at org.apache.openjpa.lib.meta.XMLMetaDataParser.parse(XMLMetaDataParser.java:263) at org.apache.openjpa.persistence.PersistenceMetaDataFactory.parseXML(PersistenceMetaDataFactory.java:237) at org.apache.openjpa.persistence.PersistenceMetaDataFactory.load(PersistenceMetaDataFactory.java:188) at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:432) at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:287) at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:164) at org.apache.openjpa.enhance.PCClassFileTransformer.transform(PCClassFileTransformer.java:115) at sun.instrument.TransformerManager.transform(TransformerManager.java:122) at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:155) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:620) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124) at java.net.URLClassLoader.defineClass(URLClassLoader.java:260) at java.net.URLClassLoader.access$100(URLClassLoader.java:56) at java.net.URLClassLoader$1.run(URLClassLoader.java:195) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268) at java.lang.ClassLoader.loadClass(ClassLoader.java:251) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:242) at org.apache.openjpa.meta.MetaDataRepository.classForName(MetaDataRepository.java:1156) at org.apache.openjpa.meta.MetaDataRepository.loadPersistentTypes(MetaDataRepository.java:1144) at org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.synchronizeMappings(JDBCBrokerFactory.java:144) at org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.newBrokerImpl(JDBCBrokerFactory.java:126) at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:164) at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:139) at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:171) at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:124) at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:50) at springdeveloper.TestApp.run(TestApp.java:48) at springdeveloper.TestApp.main(TestApp.java:22) 3663 TRACE [main] openjpa.jdbc.SQL - <t 2202705, conn 10336536> [0 ms] executing prepstmnt 9136910 SELECT SEQUENCE_SCHEMA, SEQUENCE_NAME FROM INFORMATION_SCHEMA.SYSTEM_SEQUENCES 3784 TRACE [main] openjpa.jdbc.SQL - <t 2202705, conn 2205493> [5 ms] executing stmnt 4450231 CREATE TABLE Client (id BIGINT NOT NULL, description VARCHAR(255), version INTEGER, manager_id BIGINT, PRIMARY KEY (id)) 3788 TRACE [main] openjpa.jdbc.SQL - <t 2202705, conn 6550654> [1 ms] executing stmnt 9974682 CREATE TABLE Manager (id BIGINT NOT NULL, DESCR VARCHAR(255), PRIMARY KEY (id)) 3799 TRACE [main] openjpa.jdbc.SQL - <t 2202705, conn 4102499> [7 ms] executing stmnt 14712126 CREATE INDEX I_CLIENT_MANAGER ON Client (manager_id) EM Open? true Exception in thread "main" <4|true|0.9.0-incubating-SNAPSHOT> org.apache.openjpa.persistence.ArgumentException: Could not locate metadata for the class using alias "Manager". Registered alias mappings: "{Manager=null}" at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:361) at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.getClassMetaData(JPQLExpressionBuilder.java:166) at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.resolveClassMetaData(JPQLExpressionBuilder.java:144) at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.getCandidateMetaData(JPQLExpressionBuilder.java:213) at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.getCandidateMetaData(JPQLExpressionBuilder.java:183) at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.getCandidateType(JPQLExpressionBuilder.java:176) at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.access$500(JPQLExpressionBuilder.java:63) at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder$ParsedJPQL.populate(JPQLExpressionBuilder.java:1666) at org.apache.openjpa.kernel.jpql.JPQLParser.populate(JPQLParser.java:52) at org.apache.openjpa.kernel.ExpressionStoreQuery.populateFromCompilation(ExpressionStoreQuery.java:145) at org.apache.openjpa.kernel.QueryImpl.newCompilation(QueryImpl.java:599) at org.apache.openjpa.kernel.QueryImpl.compileForCompilation(QueryImpl.java:581) at org.apache.openjpa.kernel.QueryImpl.compileForExecutor(QueryImpl.java:608) at org.apache.openjpa.kernel.QueryImpl.getOperation(QueryImpl.java:1421) at org.apache.openjpa.kernel.DelegatingQuery.getOperation(DelegatingQuery.java:120) at org.apache.openjpa.persistence.QueryImpl.execute(QueryImpl.java:205) at org.apache.openjpa.persistence.QueryImpl.getResultList(QueryImpl.java:254) at springdeveloper.MyTest.runQuery(MyTest.java:13) at springdeveloper.TestApp.run(TestApp.java:53) at springdeveloper.TestApp.main(TestApp.java:22) samoa:~/Projects/plainJpa trisberg$ > Simple orm.xml file causes exception (NPE) > ------------------------------------------ > > Key: OPENJPA-42 > URL: http://issues.apache.org/jira/browse/OPENJPA-42 > Project: OpenJPA > Issue Type: Bug > Environment: Mac OS X > Java 5 SE > Resource Local > OpenJPA build from SVN rev. 441247 > Reporter: Thomas Risberg > Attachments: plainJpa.zip > > > This simple orm.xml file causes a NPE - > <?xml version="1.0" encoding="UTF-8"?> > <entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm > http://java.sun.com/xml/ns/persistence/orm_1_0.xsd" > version="1.0"> > <package>springdeveloper.domain</package> > <entity class="Client" metadata-complete="false" access="FIELD"></entity> > <entity class="Manager" metadata-complete="false" access="FIELD"> > <attribute-override name="description"> > <column name="DESCR" length="2000"/> > </attribute-override> > </entity> > </entity-mappings> > I have attached a test case - plainJpa.zip > Same code runs fine with the RI. > This is the output from my run: > /System/Library/Frameworks/JavaVM.framework/Versions/1.5/Home/bin/java > -Dfile.encoding=MacRoman -classpath > /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/deploy.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/dt.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/jce.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/plugin.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/sa-jdi.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/charsets.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/classes.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/jconsole.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/jsse.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/laf.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/ui.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/ext/apple_provider.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/ext/dnsns.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/ext/localedata.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/ext/sunjce_provider.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/ext/sunpkcs11.jar:/Users/trisberg/Projects/plainJpa/classes:/Users/trisberg/Projects/plainJpa/lib/openjpa-jdbc-0.9.0-incubating-SNAPSHOT.jar:/Users/trisberg/Projects/plainJpa/lib/openjpa-persistence-0.9.0-incubating-SNAPSHOT.jar:/Users/trisberg/Projects/plainJpa/lib/openjpa-lib-0.9.0-incubating-SNAPSHOT.jar:/Users/trisberg/Projects/plainJpa/lib/openjpa-kernel-5-0.9.0-incubating-SNAPSHOT.jar:/Users/trisberg/Projects/plainJpa/lib/commons-collections-3.2.jar:/Users/trisberg/Projects/plainJpa/lib/geronimo-jta_1.0.1B_spec-1.0.1.jar:/Users/trisberg/Projects/plainJpa/lib/geronimo-j2ee-connector_1.5_spec-1.0.1.jar:/Users/trisberg/Projects/plainJpa/lib/commons-pool-1.3.jar:/Users/trisberg/Projects/plainJpa/lib/serp-1.11.0.jar:/Users/trisberg/Projects/plainJpa/lib/hsqldb.jar:/Users/trisberg/Projects/plainJpa/lib/persistence-api-1.0.jar:/Users/trisberg/Projects/plainJpa/lib/commons-logging-1.0.4.jar:/Users/trisberg/Projects/plainJpa/lib/commons-dbcp-1.2.1.jar:/Users/trisberg/Projects/plainJpa/lib/openjpa-persistence-jdbc-0.9.0-incubating-SNAPSHOT.jar:/Users/trisberg/Projects/plainJpa/lib/commons-lang-2.1.jar:/Users/trisberg/Projects/plainJpa/lib/openjpa-kernel-0.9.0-incubating-SNAPSHOT.jar:/Users/trisberg/Projects/plainJpa/lib/openjpa-jdbc-5-0.9.0-incubating-SNAPSHOT.jar > springdeveloper.TestApp > OPenJPAVersion: > OpenJPA 0.9.0-incubating-SNAPSHOT > version id: 0.9.0-incubating-SNAPSHOT-r0 > revision: 0 > os.name: Mac OS X > os.version: 10.4.7 > os.arch: ppc > java.version: 1.5.0_06 > java.vendor: Apple Computer, Inc. > java.class.path: > > /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/deploy.jar > > /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/dt.jar > > /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/jce.jar > > /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/plugin.jar > > /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/sa-jdi.jar > > /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/charsets.jar > > /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/classes.jar > > /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/jconsole.jar > > /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/jsse.jar > > /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/laf.jar > > /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/ui.jar > > /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/ext/apple_provider.jar > > /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/ext/dnsns.jar > > /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/ext/localedata.jar > > /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/ext/sunjce_provider.jar > > /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/ext/sunpkcs11.jar > /Users/trisberg/Projects/plainJpa/classes > > /Users/trisberg/Projects/plainJpa/lib/openjpa-jdbc-0.9.0-incubating-SNAPSHOT.jar > > /Users/trisberg/Projects/plainJpa/lib/openjpa-persistence-0.9.0-incubating-SNAPSHOT.jar > > /Users/trisberg/Projects/plainJpa/lib/openjpa-lib-0.9.0-incubating-SNAPSHOT.jar > > /Users/trisberg/Projects/plainJpa/lib/openjpa-kernel-5-0.9.0-incubating-SNAPSHOT.jar > /Users/trisberg/Projects/plainJpa/lib/commons-collections-3.2.jar > /Users/trisberg/Projects/plainJpa/lib/geronimo-jta_1.0.1B_spec-1.0.1.jar > > /Users/trisberg/Projects/plainJpa/lib/geronimo-j2ee-connector_1.5_spec-1.0.1.jar > /Users/trisberg/Projects/plainJpa/lib/commons-pool-1.3.jar > /Users/trisberg/Projects/plainJpa/lib/serp-1.11.0.jar > /Users/trisberg/Projects/plainJpa/lib/hsqldb.jar > /Users/trisberg/Projects/plainJpa/lib/persistence-api-1.0.jar > /Users/trisberg/Projects/plainJpa/lib/commons-logging-1.0.4.jar > /Users/trisberg/Projects/plainJpa/lib/commons-dbcp-1.2.1.jar > > /Users/trisberg/Projects/plainJpa/lib/openjpa-persistence-jdbc-0.9.0-incubating-SNAPSHOT.jar > /Users/trisberg/Projects/plainJpa/lib/commons-lang-2.1.jar > > /Users/trisberg/Projects/plainJpa/lib/openjpa-kernel-0.9.0-incubating-SNAPSHOT.jar > > /Users/trisberg/Projects/plainJpa/lib/openjpa-jdbc-5-0.9.0-incubating-SNAPSHOT.jar > > /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/.compatibility/14compatibility.jar > user.dir: /Users/trisberg/Projects/plainJpa > TestApp! > 119 INFO [main] openjpa.Runtime - Starting OpenJPA > 0.9.0-incubating-SNAPSHOT > Exception in thread "main" <0|false|0.9.0-incubating-SNAPSHOT> > org.apache.openjpa.persistence.PersistenceException: null > at > org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:183) > at > org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:139) > at > org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:171) > at > org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:124) > at > org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:50) > at springdeveloper.TestApp.run(TestApp.java:53) > at springdeveloper.TestApp.main(TestApp.java:27) > Caused by: java.lang.NullPointerException > at > org.apache.openjpa.meta.ClassMetaData.getSuperclassField(ClassMetaData.java:820) > at > org.apache.openjpa.meta.ClassMetaData.resolveDefinedSuperclassFields(ClassMetaData.java:1115) > at > org.apache.openjpa.meta.ClassMetaData.defineSuperclassFields(ClassMetaData.java:1091) > at > org.apache.openjpa.jdbc.meta.MappingRepository.prepareMapping(MappingRepository.java:314) > at > org.apache.openjpa.meta.MetaDataRepository.loadMapping(MetaDataRepository.java:605) > at > org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:505) > at > org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:300) > at > org.apache.openjpa.jdbc.meta.MappingRepository.getMapping(MappingRepository.java:279) > at > org.apache.openjpa.jdbc.meta.MappingTool.getMapping(MappingTool.java:660) > at > org.apache.openjpa.jdbc.meta.MappingTool.buildSchema(MappingTool.java:731) > at org.apache.openjpa.jdbc.meta.MappingTool.run(MappingTool.java:630) > at > org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.synchronizeMappings(JDBCBrokerFactory.java:160) > at > org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.newBrokerImpl(JDBCBrokerFactory.java:126) > at > org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:164) > ... 6 more > Process finished with exit code 1 -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira