Bug 545056 - Opening a modeling project with a missing semantic resource causes a silent ResourceException
Summary: Opening a modeling project with a missing semantic resource causes a silent R...
Status: NEW
Alias: None
Product: Sirius
Classification: Modeling
Component: Core (show other bugs)
Version: 6.1.2   Edit
Hardware: PC Windows 10
: P3 normal with 1 vote (vote)
Target Milestone: ---   Edit
Assignee: Project inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords: triaged
: 547383 (view as bug list)
Depends on:
Blocks:
 
Reported: 2019-03-05 06:01 EST by Steve Monnier CLA
Modified: 2019-05-17 09:15 EDT (History)
2 users (show)

See Also:


Attachments
ecore_sample_with_missing_resource (2.87 KB, application/x-zip-compressed)
2019-03-05 06:01 EST, Steve Monnier CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Steve Monnier CLA 2019-03-05 06:01:28 EST
Created attachment 277767 [details]
ecore_sample_with_missing_resource

Opening a modeling project with a missing semantic resource causes a silent ResourceException (I see it in my developpement environment but not in the runtime), even if the resource is not referenced anywhere besides the semanticResources tag (see sample in attachment).

Step to reproduce:
- import the project from ecore_sample_with_missing_resource.zip
- open the project
- You should not have the following exception:
!ENTRY org.eclipse.sirius 2 0 2019-03-05 11:50:16.432
!MESSAGE org.eclipse.core.internal.resources.ResourceException: Resource '/ecore_sample_with_missing_resource/Missing.ecore' does not exist.
!STACK 0
org.eclipse.emf.ecore.resource.impl.ResourceSetImpl$1DiagnosticWrappedException: org.eclipse.core.internal.resources.ResourceException: Resource '/ecore_sample_with_missing_resource/Missing.ecore' does not exist.
	at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.handleDemandLoadException(ResourceSetImpl.java:319)
	at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLoadHelper(ResourceSetImpl.java:278)
	at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.getResource(ResourceSetImpl.java:406)
	at org.eclipse.sirius.viewpoint.impl.DAnalysisImpl.getResource(DAnalysisImpl.java:150)
	at org.eclipse.sirius.viewpoint.impl.DAnalysisImpl.getModels(DAnalysisImpl.java:119)
	at org.eclipse.sirius.business.internal.session.danalysis.SessionResourcesTracker.resolveAllSemanticResourcesFromModels(SessionResourcesTracker.java:214)
	at org.eclipse.sirius.business.internal.session.danalysis.SessionResourcesTracker.initialize(SessionResourcesTracker.java:93)
	at org.eclipse.sirius.business.internal.session.danalysis.DAnalysisSessionImpl$2.doExecute(DAnalysisSessionImpl.java:1183)
	at org.eclipse.emf.transaction.RecordingCommand.execute(RecordingCommand.java:135)
	at org.eclipse.emf.workspace.EMFCommandOperation.doExecute(EMFCommandOperation.java:119)
	at org.eclipse.emf.workspace.AbstractEMFOperation.execute(AbstractEMFOperation.java:150)
	at org.eclipse.core.commands.operations.DefaultOperationHistory.execute(DefaultOperationHistory.java:488)
	at org.eclipse.emf.workspace.impl.WorkspaceCommandStackImpl.doExecute(WorkspaceCommandStackImpl.java:208)
	at fr.obeo.dsl.viewpoint.collab.api.editingdomain.NonDirtyingCapableWorkspaceCommandStack.doExecute(NonDirtyingCapableWorkspaceCommandStack.java:68)
	at org.eclipse.emf.transaction.impl.AbstractTransactionalCommandStack.execute(AbstractTransactionalCommandStack.java:165)
	at org.eclipse.emf.transaction.impl.AbstractTransactionalCommandStack.execute(AbstractTransactionalCommandStack.java:219)
	at org.eclipse.sirius.business.internal.session.danalysis.DAnalysisSessionImpl.open(DAnalysisSessionImpl.java:1186)
	at fr.obeo.dsl.viewpoint.collab.internal.remotesession.CollaborativeDAnalysisSessionImpl.open(CollaborativeDAnalysisSessionImpl.java:244)
	at org.eclipse.sirius.business.internal.session.SessionManagerImpl.openSession(SessionManagerImpl.java:396)
	at org.eclipse.sirius.ui.tools.internal.views.common.modelingproject.OpenRepresentationsFileJob.performOpenSession(OpenRepresentationsFileJob.java:192)
	at org.eclipse.sirius.ui.tools.internal.views.common.modelingproject.OpenRepresentationsFileJob.runInWorkspace(OpenRepresentationsFileJob.java:161)
	at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:39)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)
Caused by: org.eclipse.core.internal.resources.ResourceException: Resource '/ecore_sample_with_missing_resource/Missing.ecore' does not exist.
	at org.eclipse.core.internal.resources.Resource.checkExists(Resource.java:335)
	at org.eclipse.core.internal.resources.Resource.checkAccessible(Resource.java:209)
	at org.eclipse.core.internal.resources.File.getContents(File.java:275)
	at org.eclipse.core.internal.resources.File.getContents(File.java:268)
	at org.eclipse.emf.ecore.resource.impl.PlatformResourceURIHandlerImpl$WorkbenchHelper.createPlatformResourceInputStream(PlatformResourceURIHandlerImpl.java:207)
	at org.eclipse.emf.ecore.resource.impl.PlatformResourceURIHandlerImpl.createInputStream(PlatformResourceURIHandlerImpl.java:525)
	at org.eclipse.emf.ecore.resource.impl.ExtensibleURIConverterImpl.createInputStream(ExtensibleURIConverterImpl.java:360)
	at org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(ResourceImpl.java:1269)
	at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLoad(ResourceSetImpl.java:259)
	at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLoadHelper(ResourceSetImpl.java:274)
	... 21 more
Comment 1 Steve Monnier CLA 2019-05-17 09:15:06 EDT
*** Bug 547383 has been marked as a duplicate of this bug. ***