Heath Thomann created OPENJPA-2284:
--------------------------------------
Summary: NPE occurs when <cascade-persist/> is added to a
<persistence-unit-defaults> in an orm.
Key: OPENJPA-2284
URL: https://issues.apache.org/jira/browse/OPENJPA-2284
Project: OpenJPA
Issue Type: Bug
Components: jpa
Affects Versions: 2.0.3, 2.3.0, 2.2.1
Reporter: Heath Thomann
Assignee: Heath Thomann
Priority: Minor
Take this entity:
public class Simple {
private int id;
private String name;
Take this orm.xml entry:
<persistence-unit-metadata>
<persistence-unit-defaults>
<schema>MySchema</schema>
<delimited-identifiers/>
<!-- The cascade-persist entry causes an issue: -->
<cascade-persist/>
</persistence-unit-defaults>
</persistence-unit-metadata>
<entity class="hat.entities.Simple" access="FIELD">
<attributes>
<id name="id" />
<basic name="name" />
</attributes>
</entity>
With this, the following exception will occur:
Caused by: org.xml.sax.SAXException:
file:/E:/jpa/openJPAcode/PMR93141/target/test-classes/META-INF/orm.xml
[Location: Line: 16, C: 23]: An error was encountered while parsing element
"id". Make sure the metadata file is correctly formatted.
[java.lang.NullPointerException]
at
org.apache.openjpa.lib.meta.XMLMetaDataParser.getException(XMLMetaDataParser.java:739)
at
org.apache.openjpa.lib.meta.CFMetaDataParser.endElement(CFMetaDataParser.java:147)
at
org.apache.openjpa.lib.meta.XMLMetaDataParser.endElement(XMLMetaDataParser.java:499)
at
org.apache.xerces.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:579)
at
org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:218)
at
org.apache.xerces.impl.XMLNamespaceBinder.handleStartElement(XMLNamespaceBinder.java:873)
at
org.apache.xerces.impl.XMLNamespaceBinder.emptyElement(XMLNamespaceBinder.java:590)
at
org.apache.xerces.impl.dtd.XMLDTDValidator.emptyElement(XMLDTDValidator.java:777)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:748)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1453)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:333)
at
org.apache.xerces.parsers.DTDConfiguration.parse(DTDConfiguration.java:524)
at
org.apache.xerces.parsers.DTDConfiguration.parse(DTDConfiguration.java:580)
at org.apache.xerces.parsers.XMLParser.parse(XMLParser.java:152)
at
org.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1169)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)
at
org.apache.openjpa.lib.meta.XMLMetaDataParser.parseNewResource(XMLMetaDataParser.java:421)
... 60 more
If I comment out the '<cascade-persist/>' entry, all works fine. Note that in
the above XML I've added the </schema> and <delimited-identifiers/> entries as
well. Neither of these have an effect on the outcome (they could simply be
removed). I was thinking that if the issue occurred for the cascade stanza
that it might also occur for the <delimited-identifiers/> entry since the two
are similar in their XML definition (XSD). However, this issue seems isolated
to just the cascade stanza.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira