Hi Andreas,

I must admit that I don't understand the problem yet. I wanted to answer after 
some trying inside the code, but: no time... :(

> The problem with our implementation would be, that we cannot access the
> eclipse
> implementations of all the classes directly. UMLFactory is the only way to
> get
> an ActivityImpl as an example (AFAIK). So if we would implement our own
> createActivity
> method (as an example), we'd also have to implement ActivityImpl , which
> basically means,
> we'd have to reimplement the entire internal/* Subpackages from Eclipse.
> I'd say we don't want
> that, so we reuse the UMLFactory methods.

I don't understand why we can't access eclipse's 
UMLFactory.eInstance.createActivity() method in our own createActivity method? 
It's like the createClass Method in CoreFactoryEUMLImpl. Why do we need to 
reimplement the eclipse UML code?

> I guess your united factory is the best approach for now. Just put all the
> factories back in one
> factory again.

I'd say: all our factory classes access methods from eclipse's 
UMLFactory.eInstance. We just need to extend our factories.

> If we leave Tom's interface as it is and just implement the Eclipse
> UMLFactory in the euml model
> impl, we'll have to distinguish between the model implementation in the
> entire Argo code. Lots
> of 'if' 's, that are just needed as long as MDR is supported.

In both cases the same model subsystem interfaces are used, only the 
implementation differs. The 'if' statements are not for choosing another model 
subsystem interface, but they are because of different usage of the it's 
methods, because of the different UML specification version.

> I guess changing Tom's interface to implement UMLFactory and adding lots
> of empty createXXXX
> methods to the MDR implementation is the better way? There might be name
> conflicts, but we could
> rename those methods by adding 'UML1' or 'UML2' then? (or so.)

If methods like createClass() have the same name in UML1 and UML2, then only 
one interface method is needed. We don't need to use all methods of the eclipse 
UMLFactory, only those we need for the supported features. For example, if we 
don't support timing diagrams, then we don't have a createWhatever() method in 
our interface. (OK, all UML specific stuff we add to our interfaces will lead 
to exception throwing implementations in the MDR implementation.)

Maybe I still didn't understand the problem, sorry...

Thomas
-- 
Neu: GMX FreeDSL Komplettanschluss mit DSL 6.000 Flatrate + Telefonanschluss 
für nur 17,95 Euro/mtl.!* http://portal.gmx.net/de/go/dsl02

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

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