Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 360108 - [Navigator & Editor Sockets] NullPointerException when attempting to open form editor on damaged model files
Summary: [Navigator & Editor Sockets] NullPointerException when attempting to open for...
Status: CLOSED FIXED
Alias: None
Product: Sphinx
Classification: Automotive
Component: Core (show other bugs)
Version: 0.7.0   Edit
Hardware: All All
: P3 major (vote)
Target Milestone: 0.7.0   Edit
Assignee: Stephan Eberle CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-10-06 10:52 EDT by Stephan Eberle CLA
Modified: 2021-07-14 02:15 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Stephan Eberle CLA 2011-10-06 10:52:50 EDT
When trying to open a form editor based on BasicTransactionalFormEditor on a model file that is damaged an cannot be loaded the following exception is raised:

java.lang.NullPointerException
	at org.eclipse.sphinx.emf.editors.forms.BasicTransactionalFormEditor$11.resourceSetChanged(BasicTransactionalFormEditor.java:1237)
	at org.eclipse.emf.transaction.impl.TransactionalEditingDomainImpl$1.run(TransactionalEditingDomainImpl.java:781)
	at org.eclipse.emf.transaction.impl.TransactionalEditingDomainImpl.runExclusive(TransactionalEditingDomainImpl.java:328)
	at org.eclipse.emf.transaction.impl.TransactionalEditingDomainImpl.postcommit(TransactionalEditingDomainImpl.java:771)
	at org.eclipse.gmf.runtime.diagram.core.DiagramEditingDomainFactory$DiagramEditingDomain.postcommit(DiagramEditingDomainFactory.java:245)
	at org.eclipse.emf.transaction.impl.TransactionalEditingDomainImpl.deactivate(TransactionalEditingDomainImpl.java:543)
	at org.eclipse.emf.transaction.impl.TransactionImpl.close(TransactionImpl.java:712)
	at org.eclipse.emf.transaction.impl.TransactionImpl.commit(TransactionImpl.java:474)
	at org.eclipse.emf.transaction.impl.TransactionalEditingDomainImpl.runExclusive(TransactionalEditingDomainImpl.java:333)
	at org.eclipse.sphinx.emf.workspace.loading.ModelLoadManager.loadModelFilesInEditingDomain(ModelLoadManager.java:740)
	at org.eclipse.sphinx.emf.workspace.loading.ModelLoadManager.runLoadModelFiles(ModelLoadManager.java:722)
	at org.eclipse.sphinx.emf.workspace.loading.ModelLoadManager.runCollectAndLoadModelFiles(ModelLoadManager.java:1804)
	at org.eclipse.sphinx.emf.workspace.loading.ModelLoadManager.access$10(ModelLoadManager.java:1760)
	at org.eclipse.sphinx.emf.workspace.loading.ModelLoadManager$12.run(ModelLoadManager.java:1687)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Comment 1 Stephan Eberle CLA 2011-10-07 01:44:37 EDT
Fixed by making BasicTransactionalFormEditor#createObjectRemovedListener() more robust. 

Made also sure that unsuccessful load attempts don't trigger subsequent load attempts by moving call to ModelLoadManager#loadModel(IModelDescriptor, boolean, IProgressMonitor) from BasicTransactionalFormEditor#getModelRoot() to BasicTransactionalFormEditor#createPages() and improving implementation of BasicTransactionalFormEditor#createResourceLoadedListener() and BasicTransactionalFormEditor#createResourceRemovedListener().
Comment 2 Balazs Grill CLA 2021-07-14 02:15:58 EDT
Mass-closing Resolved tickets