From:
corona-dev-bounces@xxxxxxxxxxx [mailto:corona-dev-bounces@xxxxxxxxxxx] On Behalf Of O'Flynn, Dennis
Sent: Monday, March 12, 2007 8:28
PM
To: Corona
development
Subject: [corona-dev] FW: CCX and
PCV (or CCV)
Piotr,
The following is about bugz item 173623
The objective of was to provide an “explorer” view that
would show all of the defined ContextContainers, regardless of their type.
This would allow the “SystemContainer”,
“ProjectContainers”, as well as any other container type to be
listed in the same “explorer” view.
[Jaworowski, Piotr] Explorer is now capable of displaying
any kind of ContextContainer element; (so this item is met.)
When the user selects a ContextContainer to be opened, the
“explorer” needs to launch the appropriate “viewer”.
For our exemplary implementation of a “ProjectContainer”, this
would be our current “ProjectContainerViewer” (PCV).
The specific “viewer” to be launched will be defined by using
a new extension point (org.eclipse.corona.viewer?), similar to how the current
PCV finds the specific PCV-page to use for a REPOSITORY-DESCRIPTOR.
The goal of this enhancement is to allow any collaboration solution to
easily register the specific “viewer” for its type of
ContextContainer through the use of an extension point. The
“explorer” is used to match the ContextContainer type to the
specific “viewer”.
[Jaworowski, Piotr] As I understand, you'd like to have a
*generic* "open context container" action which will be capable of
opening any kind of context container and displaying proper "view"
for it; Right this is not done;
Current implementation of open container action
(OpenPCXActionDelegate) is capable of opening the ProjectContextContainer
object ONLY. This action is using ProjectContainer specific open method
(openProjectContainerForMember) which is not available for other
ContextContainers. Moreover, all actions now are using ProjectContainerProxy class
to “communicate” with server; ProjectContainerProxy (as the name
says ;-)) is ProjectContextContainer specific. Please note that this proxy
class implements “generic” ContextContainerProxy class which is empty
(there is also ContextContainerManagerProxy class which is not used at all, I guess
we’ve got some mess there).
So actually to achieve such generic result of
opening ContextContainers (and for some other generic actions), we need to have
some refactoring and source clean up.
Below is the class diagram how we could
implement it, (current implementation does not fit it, at least on client side,
as all methods (even generic one) are implemented in ProjectContainerProxy
class)
Two additional things:
1) IMHO
ContextContainerManagerProxy and ProjectContainerManagerProxy are better names
for proxy classes on client side.
2) We should think of fixing up some
classes names, like ProjectContextContainer and ProjectContainerManager (we should go in one
direction; either ProjectContextContainer and ProjectContextContainerManager or
ProjectContainer and ProjectContainerManager)