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)