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

Bug 354220

Summary: [collaborative work] ability to load/unload a submodel from model explorer
Product: [Modeling] Papyrus Reporter: Raphael Faudou <raphael.faudou>
Component: CoreAssignee: Vincent Hémery <vincent.hemery>
Status: CLOSED FIXED QA Contact:
Severity: major    
Priority: P3 CC: raphael.faudou
Version: 0.8.0   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description Raphael Faudou CLA 2011-08-09 04:30:54 EDT
It should be possible for the end user to decide on loading sub model by right click from a package in model explorer view
Comment 1 Vincent Hémery CLA 2011-08-18 08:32:57 EDT
This modification should come with the possibility to also unload a resource.
Both actions should be available by right-clicking in Model Explorer view.
Comment 2 Vincent Hémery CLA 2011-08-18 08:44:57 EDT
Fixed problems with not loaded resources before contributing these functionalities. Without these fix, the application does not support correctly not loaded resources.

on trunk in r5260
on 0.8.X in r5261
Comment 3 Vincent Hémery CLA 2011-08-18 08:58:02 EDT
Plugin and patch to integrate it correctly have been added on trunk in incoming (r5263-5265)
Comment 4 Vincent Hémery CLA 2011-08-25 07:49:01 EDT
This functionality has been integrated on 0.8.X branch and trunk.
It will be available in next releases (0.8.1 and upper).
Comment 5 Raphael Faudou CLA 2011-09-24 09:43:34 EDT
Seems to work in many cases but sometimes there is an error that occurs when selecting a package not loaded in a package diagram:

org.eclipse.papyrus.core.services.ServiceException: EObject, EClass or IElementType expected in method parameter.
	at org.eclipse.papyrus.service.edit.internal.ElementEditServiceProvider.getEditService(ElementEditServiceProvider.java:91)
	at org.eclipse.papyrus.service.edit.service.ElementEditServiceUtils.getCommandProvider(ElementEditServiceUtils.java:50)
	at org.eclipse.papyrus.diagram.clazz.edit.policies.PackageItemSemanticEditPolicy.getDestroyElementCommand(PackageItemSemanticEditPolicy.java:103)
	at org.eclipse.papyrus.diagram.clazz.custom.policies.itemsemantic.CustomPackageItemSemanticEditPolicy.getDestroyElementCommand(CustomPackageItemSemanticEditPolicy.java:111)
	at org.eclipse.papyrus.diagram.clazz.edit.policies.UMLBaseItemSemanticEditPolicy.getSemanticCommandSwitch(UMLBaseItemSemanticEditPolicy.java:215)
	at org.eclipse.papyrus.diagram.clazz.edit.policies.UMLBaseItemSemanticEditPolicy.getSemanticCommand(UMLBaseItemSemanticEditPolicy.java:157)
	at org.eclipse.gmf.runtime.diagram.ui.editpolicies.SemanticEditPolicy.getCommand(SemanticEditPolicy.java:69)
	at org.eclipse.papyrus.diagram.clazz.edit.policies.UMLBaseItemSemanticEditPolicy.getCommand(UMLBaseItemSemanticEditPolicy.java:139)
	at org.eclipse.gef.editparts.AbstractEditPart.getCommand(AbstractEditPart.java:502)
	at org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart.access$1(GraphicalEditPart.java:1)
	at org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart$1.run(GraphicalEditPart.java:482)
	at org.eclipse.emf.transaction.impl.TransactionalEditingDomainImpl.runExclusive(TransactionalEditingDomainImpl.java:328)
	at org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart.getCommand(GraphicalEditPart.java:477)
	at org.eclipse.papyrus.diagram.common.handlers.DeleteFromModelCommandHandler.getCommand(DeleteFromModelCommandHandler.java:55)
	at org.eclipse.papyrus.diagram.common.handlers.GraphicalCommandHandler.isEnabled(GraphicalCommandHandler.java:106)
	at org.eclipse.ui.internal.handlers.HandlerProxy.isEnabled(HandlerProxy.java:320)
	at org.eclipse.core.commands.Command.isEnabled(Command.java:833)
	at org.eclipse.core.commands.Command.setHandler(Command.java:996)
	at org.eclipse.ui.internal.handlers.HandlerAuthority.updateCommand(HandlerAuthority.java:459)
	at org.eclipse.ui.internal.handlers.HandlerAuthority.processChangedCommands(HandlerAuthority.java:638)
	at org.eclipse.ui.internal.handlers.HandlerAuthority.access$1(HandlerAuthority.java:610)
	at org.eclipse.ui.internal.handlers.HandlerAuthority$1.propertyChange(HandlerAuthority.java:175)
	at org.eclipse.ui.internal.services.EvaluationAuthority$1.run(EvaluationAuthority.java:252)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.ui.internal.services.EvaluationAuthority.fireServiceChange(EvaluationAuthority.java:246)
	at org.eclipse.ui.internal.services.EvaluationAuthority.endSourceChange(EvaluationAuthority.java:197)
	at org.eclipse.ui.internal.services.EvaluationAuthority.sourceChanged(EvaluationAuthority.java:135)
	at org.eclipse.ui.internal.services.ExpressionAuthority.sourceChanged(ExpressionAuthority.java:311)
	at org.eclipse.ui.internal.services.ExpressionAuthority.sourceChanged(ExpressionAuthority.java:290)
	at org.eclipse.ui.AbstractSourceProvider.fireSourceChanged(AbstractSourceProvider.java:99)
	at org.eclipse.papyrus.diagram.common.providers.ActionStateSourceProvider.refreshDeleteAction(ActionStateSourceProvider.java:69)
	at org.eclipse.papyrus.diagram.common.providers.ActionStateSourceProvider.refreshActions(ActionStateSourceProvider.java:92)
	at org.eclipse.papyrus.diagram.common.providers.AbstractActionStateSourceProvider$SelectionListener.selectionChanged(AbstractActionStateSourceProvider.java:270)
	at org.eclipse.ui.internal.AbstractSelectionService.fireSelection(AbstractSelectionService.java:156)
	at org.eclipse.ui.internal.AbstractSelectionService$1.selectionChanged(AbstractSelectionService.java:62)
	at org.eclipse.papyrus.sasheditor.internal.eclipsecopy.MultiPageSelectionProvider$1.run(MultiPageSelectionProvider.java:116)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.papyrus.sasheditor.internal.eclipsecopy.MultiPageSelectionProvider.fireEventChange(MultiPageSelectionProvider.java:113)
	at org.eclipse.papyrus.sasheditor.internal.eclipsecopy.MultiPageSelectionProvider.fireSelectionChanged(MultiPageSelectionProvider.java:94)
	at org.eclipse.papyrus.sasheditor.internal.eclipsecopy.MultiPageEditorSite.handleSelectionChanged(MultiPageEditorSite.java:471)
	at org.eclipse.papyrus.sasheditor.internal.eclipsecopy.MultiPageEditorSite$3.selectionChanged(MultiPageEditorSite.java:391)
	at org.eclipse.gmf.runtime.diagram.ui.parts.DiagramGraphicalViewer.flushSelectionEvents(DiagramGraphicalViewer.java:256)
	at org.eclipse.gmf.runtime.diagram.ui.parts.DiagramGraphicalViewer$1.run(DiagramGraphicalViewer.java:234)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4140)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3757)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2696)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2660)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494)
	at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)
	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:344)
	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:622)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
Comment 6 Raphael Faudou CLA 2011-10-04 09:04:56 EDT
verified->OK closed