Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 225023

Summary: NPEs after editing directly in the orm.xml source editor
Product: [WebTools] Dali JPA Tools Reporter: Karen Butzke <karenfbutzke>
Component: GeneralAssignee: Karen Butzke <karenfbutzke>
Status: VERIFIED FIXED QA Contact:
Severity: major    
Priority: P3 CC: neil.hauge
Version: 2.0   
Target Milestone: 2.0 M6   
Hardware: PC   
OS: Windows XP   
Whiteboard:
Bug Depends on: 225196    
Bug Blocks:    

Description Karen Butzke CLA 2008-03-31 21:36:11 EDT
Given the following orm.xml file I added another entity by typing in the source file.  After this I selected the 'Entity Mappings' nodes in the JPA structure view and unchecked the 'Xml Mapping Metadata Complete' check box.


<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">
	<persistence-unit-metadata>
		<xml-mapping-metadata-complete />
	</persistence-unit-metadata>
	<entity class="model2.Foo"></entity>
</entity-mappings>

Received this exception:

java.lang.NullPointerException
	at org.eclipse.jpt.core.resource.common.AbstractJpaEObject.featureChanged(AbstractJpaEObject.java:101)
	at org.eclipse.jpt.core.resource.common.AbstractJpaEObject.eNotify(AbstractJpaEObject.java:95)
	at org.eclipse.jpt.core.resource.orm.XmlPersistenceUnitMetadata.setXmlMappingMetadataComplete(XmlPersistenceUnitMetadata.java:129)
	at org.eclipse.jpt.core.resource.orm.XmlPersistenceUnitMetadata.eUnset(XmlPersistenceUnitMetadata.java:257)
	at org.eclipse.emf.ecore.impl.BasicEObjectImpl.eUnset(BasicEObjectImpl.java:1153)
	at org.eclipse.wst.common.internal.emf.resource.Translator.unSetMOFValue(Translator.java:655)
	at org.eclipse.wst.common.internal.emf.resource.EMF2DOMAdapterImpl.primUpdateMOFFeature(EMF2DOMAdapterImpl.java:1434)
	at org.eclipse.wst.common.internal.emf.resource.EMF2DOMAdapterImpl.updateMOFFeature(EMF2DOMAdapterImpl.java:1779)
	at org.eclipse.wst.common.internal.emf.resource.EMF2DOMAdapterImpl.primUpdateMOF(EMF2DOMAdapterImpl.java:938)
	at org.eclipse.wst.common.internal.emf.resource.EMF2DOMAdapterImpl.updateMOF(EMF2DOMAdapterImpl.java:918)
	at org.eclipse.wst.xml.core.internal.emf2xml.EMF2DOMSSEAdapter.notifyChanged(EMF2DOMSSEAdapter.java:227)
	at org.eclipse.wst.sse.core.internal.provisional.AbstractNotifier.notify(AbstractNotifier.java:201)
	at org.eclipse.wst.xml.core.internal.document.XMLModelNotifierImpl.notifyStructureChanged(XMLModelNotifierImpl.java:392)
	at org.eclipse.wst.xml.core.internal.document.XMLModelNotifierImpl.structureChanged(XMLModelNotifierImpl.java:454)
	at org.eclipse.wst.xml.core.internal.document.XMLModelNotifierImpl.childReplaced(XMLModelNotifierImpl.java:160)
	at org.eclipse.wst.xml.core.internal.document.DOMModelImpl.childReplaced(DOMModelImpl.java:191)
	at org.eclipse.wst.xml.core.internal.document.NodeContainer.notifyChildReplaced(NodeContainer.java:357)
	at org.eclipse.wst.xml.core.internal.document.NodeContainer.removeChild(NodeContainer.java:401)
	at org.eclipse.wst.common.internal.emf.resource.EMF2DOMAdapterImpl.removeDOMChild(EMF2DOMAdapterImpl.java:697)
	at org.eclipse.wst.common.internal.emf.resource.EMF2DOMAdapterImpl.removeDOMChild(EMF2DOMAdapterImpl.java:678)
	at org.eclipse.wst.common.internal.emf.resource.EMF2DOMAdapterImpl.updateDOMSubtree(EMF2DOMAdapterImpl.java:1665)
	at org.eclipse.wst.common.internal.emf.resource.EMF2DOMAdapterImpl.primUpdateDOMFeature(EMF2DOMAdapterImpl.java:1329)
	at org.eclipse.wst.common.internal.emf.resource.EMF2DOMAdapterImpl.updateDOMFeature(EMF2DOMAdapterImpl.java:1557)
	at org.eclipse.wst.common.internal.emf.resource.EMF2DOMAdapterImpl.notifyChanged(EMF2DOMAdapterImpl.java:1043)
	at org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:247)
	at org.eclipse.jpt.core.resource.common.AbstractJpaEObject.eNotify(AbstractJpaEObject.java:94)
	at org.eclipse.jpt.core.resource.orm.XmlPersistenceUnitMetadata.setXmlMappingMetadataComplete(XmlPersistenceUnitMetadata.java:129)
	at org.eclipse.jpt.core.internal.context.orm.GenericPersistenceUnitMetadata.setXmlMappingMetadataComplete(GenericPersistenceUnitMetadata.java:44)
	at org.eclipse.jpt.ui.internal.orm.details.PersistenceUnitMetadataComposite$6.setValue_(PersistenceUnitMetadataComposite.java:206)
	at org.eclipse.jpt.ui.internal.orm.details.PersistenceUnitMetadataComposite$6.setValue_(PersistenceUnitMetadataComposite.java:1)
	at org.eclipse.jpt.utility.internal.model.value.PropertyAspectAdapter.setValue(PropertyAspectAdapter.java:152)
	at org.eclipse.jpt.ui.internal.swt.BooleanButtonModelAdapter.buttonSelected(BooleanButtonModelAdapter.java:195)
Comment 1 Karen Butzke CLA 2008-04-03 09:23:45 EDT
underlying bug 225196 was fixed, I have verified this bug is fixed in the latest WTP ibuild