Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 328980 - [Validation] Validation marker cause ModelExplorer collapse after renaming
Summary: [Validation] Validation marker cause ModelExplorer collapse after renaming
Status: CLOSED FIXED
Alias: None
Product: Papyrus
Classification: Modeling
Component: Core (show other bugs)
Version: 0.7.1   Edit
Hardware: PC All
: P3 major (vote)
Target Milestone: ---   Edit
Assignee: Ansgar Radermacher CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 313986
  Show dependency tree
 
Reported: 2010-10-28 16:34 EDT by Yann Tanguy CLA
Modified: 2013-03-22 13:40 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Yann Tanguy CLA 2010-10-28 16:34:08 EDT
To reproduce :
- Create a model and provoke validation errors
- Close the model
- Rename the project containing the model

The following exception is thrown:

java.util.MissingResourceException: The string resource 'platform:/resource/TestSD/model.di' could not be located
	at org.eclipse.papyrus.core.resourceloading.impl.ProxyManager.getEObjectFromStrategy(ProxyManager.java:159)
	at org.eclipse.papyrus.core.resourceloading.OnDemandLoadingModelSet.getEObject(OnDemandLoadingModelSet.java:78)
	at org.eclipse.papyrus.modelexplorer.validation.ValidationTool.eObjectOfMarker(ValidationTool.java:88)
	at org.eclipse.papyrus.modelexplorer.MoDiscoLabelProvider.getImage(MoDiscoLabelProvider.java:106)
	at org.eclipse.papyrus.modelexplorer.MoDiscoLabelProviderWTooltips.getImage(MoDiscoLabelProviderWTooltips.java:58)
	at org.eclipse.jface.viewers.ColumnLabelProvider.update(ColumnLabelProvider.java:37)
	at org.eclipse.jface.viewers.ViewerColumn.refresh(ViewerColumn.java:152)
	at org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(AbstractTreeViewer.java:934)
	at org.eclipse.jface.viewers.AbstractTreeViewer$UpdateItemSafeRunnable.run(AbstractTreeViewer.java:102)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49)
	at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
	at org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(AbstractTreeViewer.java:1014)
	at org.eclipse.jface.viewers.StructuredViewer$UpdateItemSafeRunnable.run(StructuredViewer.java:481)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49)
	at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
	at org.eclipse.jface.viewers.StructuredViewer.updateItem(StructuredViewer.java:2141)
	at org.eclipse.jface.viewers.AbstractTreeViewer.createTreeItem(AbstractTreeViewer.java:829)
	at org.eclipse.jface.viewers.AbstractTreeViewer$1.run(AbstractTreeViewer.java:804)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
	at org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(AbstractTreeViewer.java:778)
	at org.eclipse.jface.viewers.TreeViewer.createChildren(TreeViewer.java:644)
	at org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(AbstractTreeViewer.java:749)
	at org.eclipse.jface.viewers.AbstractTreeViewer.handleTreeExpand(AbstractTreeViewer.java:1444)
	at org.eclipse.jface.viewers.TreeViewer.handleTreeExpand(TreeViewer.java:952)
	at org.eclipse.jface.viewers.AbstractTreeViewer$4.treeExpanded(AbstractTreeViewer.java:1455)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:132)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1077)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1062)
	at org.eclipse.swt.widgets.Tree.wmNotifyChild(Tree.java:7408)
	at org.eclipse.swt.widgets.Control.wmNotify(Control.java:5096)
	at org.eclipse.swt.widgets.Composite.wmNotify(Composite.java:1887)
	at org.eclipse.swt.widgets.Control.WM_NOTIFY(Control.java:4726)
	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4215)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4873)
	at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
	at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:2362)
	at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1536)
	at org.eclipse.swt.widgets.Tree.WM_LBUTTONDOWN(Tree.java:6303)
	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4195)
	at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5844)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4886)
	at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
	at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2459)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3655)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438)
	at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1407)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1383)
Comment 1 Ansgar Radermacher CLA 2010-10-29 13:53:17 EDT
The error should be fixed in the sense that the exception is catched, i.e. the eObject in the marker is not resolved and no decorators are shown until the user restarts the validation.
I'm not sure if it would be a good idea to try to correct the path stored in the marker's URI descriptor, e.g. check if the suffix of the URI descriptor (filename without path) is identical to the underlying resource name and replace the path.
Comment 2 Camille Letavernier CLA 2013-03-22 13:40:47 EDT
> The error should be fixed in the sense that the exception is catched, i.e. the eObject in the marker is not resolved and no decorators are shown until the user restarts the validation.

I close this task