On Fri, May 29, 2009 at 1:16 AM, Linus Tolke <[email protected]> wrote:

> The "support multiple loaded subsystems" requirement that you mention, how
> can it best be solved?
...
> My first thought is that we need to have a mechanism providing the
> information, when createXXX() is called, what model subsystem implementation
> the newly created object belongs to.

I haven't designed it, but my thoughts were along the lines of
introducing a Model subsystem factory (a "factory factory") which gets
used at project creation time with a reference to the resulting Model
subsystem object stored in the Project object and converting all the
static Model.getFacade(), etc references to use
project.getModel().getFacade() (or project.getFacade()).  This can
probably be done in a way that has the existing static methods use the
new mechanism internally, providing backward compatibility, and
semantically it's a pretty small change, but lexically it's a massive
change because references to this global singleton are scattered
throughout the code.

> My second thought is that we would like to support cut'n'paste between the
> model subsystems and that means that we will have the mechanism in place to
> move objects between the model subsystem implementation.

This seems orthogonal to me.  Cut and paste within a project isn't
even supported and multiple open projects aren't supported, so there
are a few steps required before it's even possible, but I'd probably
look at extending the existing deep copy facilities (which I'm not
sure are fully implemented) to work between repositories/model
subsystems in addition to within a single one.

Tom

------------------------------------------------------
http://argouml.tigris.org/ds/viewMessage.do?dsForumId=450&dsMessageId=2356802

To unsubscribe from this discussion, e-mail: 
[[email protected]].
To be allowed to post to the list contact the mailing list moderator, email: 
[[email protected]]

Reply via email to