Bug 548997 - [PageManager] The method allPages of the PageManager must be improved. The method isPage must be accessible.
Summary: [PageManager] The method allPages of the PageManager must be improved. The me...
Status: NEW
Alias: None
Product: Papyrus
Classification: Modeling
Component: Core (show other bugs)
Version: 6.0.0   Edit
Hardware: PC Windows 7
: P3 normal (vote)
Target Milestone: 6.0.0   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard: refactoring, performance
Keywords: api
Depends on: 548998
Blocks: 540302
  Show dependency tree
 
Reported: 2019-07-05 03:03 EDT by Vincent Lorenzo CLA
Modified: 2020-12-10 08:41 EST (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Vincent Lorenzo CLA 2019-07-05 03:03:22 EDT
There are too many class for the page manager:
interface IPageManager is implemented by BasicPageManager,
which is extended by PageManagerImpl and TransactionalBasicPageManagerImpl
	and PageManagerImpl is extended by TransactionalPageManagerImpl...

so we have doubt about the hierarchy and utility of all these classes. A refactoring sems me required.
A documentation about this framework will useful too. 

The method org.eclipse.papyrus.infra.core.sashwindows.di.service.BasicPageManagerImpl.allPages() has a FIXME and looks for pages only in the notation file. 
The method BasicPageManagerImpl.isPage(EObject) should be a part of the API and should be isPage(Object) (and not with EObject as parameter), to be compliant with others methods (or change all others methods to return EObject instead of Object...

when isPage will be public, the method org.eclipse.papyrus.views.modelexplorer.handler.DeleteCommandHandler.isPage(EObject) must be changed to call isPage instead of allPages.contains(...).
Comment 1 Vincent Lorenzo CLA 2020-12-10 08:28:48 EST
postponed 6.0.0