Hi,

I answered in issue 6185, let's discuss there and probably later continue here 
on the more general topic.

Thomas

-------- Original-Nachricht --------
> Datum: Fri, 11 Feb 2011 00:07:53 +0000
> Von: Bob Tarling <[email protected]>
> An: [email protected]
> Betreff: Re: [argouml-dev] UML2: How to feed the model event pump for tagged 
> values?

> Okay, patch is added to 6185, take a look at the technique - aybe this
> will work also for tagged values
> 
> Bob
> 
> On 10 February 2011 20:00, Bob Tarling <[email protected]> wrote:
> > I have a patch that gets stereotypes working with the method I suggested
> >
> > Its on another machine at the moment and the pub is my top priority
> right now
> >
> > I'll attach it to issue 6185 when I get back tonight or some tomorrow
> > at the latest.
> >
> > Cheers
> >
> > Bob
> >
> > On 10 February 2011 08:44, Thomas Neustupny <[email protected]> wrote:
> >> Hi Bob,
> >>
> >> how exactly would addAllStereotypes look like when using the event pump
> the way you suggested? I'd like to give it a try (make the whole UML2
> stereotype work based on that).
> >>
> >> Thomas
> >>
> >> -------- Original-Nachricht --------
> >>> Datum: Wed, 9 Feb 2011 21:55:34 +0000
> >>> Von: Bob Tarling <[email protected]>
> >>> An: [email protected]
> >>> Betreff: Re: [argouml-dev] UML2: How to feed the model event pump for
> tagged values?
> >>
> >>> Hi Thomas
> >>>
> >>> I'm not sure if I follow all the purpose of getRootElements but then
> >>> again I'm not if need to right now.
> >>>
> >>> What I have confirmed is what you have said (that standard euml is
> >>> used to link the model element with a stereotype) - i.e. this line in
> >>> CoreHelperEUMLImpl.addAllStereotypes is clearly out of our control for
> >>> how it attaches and so we can assume the stereotype is correctly
> >>> placed in the repository
> >>>
> >>>     ((Element) modelElement).applyStereotype((Stereotype) o);
> >>>
> >>> What you might consider if we find no better way to solve this is to
> >>> generate some event of our own.
> >>>
> >>> We could have addAllStereotypes call the event pump instructing it to
> >>> fire an event with a "stereotype" property after we have either
> >>> applied a stereotype.
> >>>
> >>> So this event would look the same as what currently happens in MDR and
> >>> so all our existing code that looks for stereotype events should work.
> >>>
> >>> Regards
> >>>
> >>> Bob
> >>>
> >>>
> >>>
> >>> On 9 February 2011 16:25, Thomas Neustupny <[email protected]> wrote:
> >>> > Hi Bob,
> >>> >
> >>> > it took me so much time to get the persistence of stereotype
> >>> applications running. Currently this is handled by managing the root
> elements of the
> >>> project instance. It is done by calling the (new) method updateRoots()
> in
> >>> ProjectImpl, which uses
> Model.getModelManagementHelper().getRootElements(m),
> >>> which in turn calls ((EObject) model).eResource().getContents() on all
> >>> models. So it's an EMF functionality, not UML2. (All this is not
> called via
> >>> some event handling IIRC, but I'm not sure.)
> >>> >
> >>> > So, this is how the stereotype-related "model-outside" elements are
> >>> handled. Beat me if you think that's sick, but I found no other way to
> get it
> >>> reliable loaded/saved with eUML.
> >>> >
> >>> > So, the element we should listen to probably is not a UML2 element,
> but
> >>> an eCore element (the eResource, which is an EObject)?
> >>> >
> >>> > Thomas
> >>> >
> >>> > -------- Original-Nachricht --------
> >>> >> Datum: Wed, 9 Feb 2011 12:20:40 +0000
> >>> >> Von: Bob Tarling <[email protected]>
> >>> >> An: [email protected]
> >>> >> Betreff: Re: [argouml-dev] UML2: How to feed the model event pump
> for
> >>> tagged values?
> >>> >
> >>> >> I'm not in a position to check the code at the moment so I'll
> assume
> >>> >> what you say is correct and that EUML is placing the stereotypes
> links
> >>> >> in the correct place for us (although I am surprised this is not at
> >>> >> least within the model).
> >>> >>
> >>> >> That leaves me stumped for the moment on what we should be
> listening
> >>> >> to. If something is added at the top level then do we have an
> element
> >>> >> to be listening to to detect the addition to it?
> >>> >>
> >>> >> If we can find what that element is we need to be listening to then
> I
> >>> >> think I can work out how to get the event pump to simulate that the
> >>> >> event actually came from the element the stereotype is applied to.
> I
> >>> >> think doing that would keep the rest of the application simpler.
> >>> >>
> >>> >> Bob
> >>> >>
> >>> >> On 9 February 2011 10:45, Thomas Neustupny <[email protected]> wrote:
> >>> >> > Hi Bob,
> >>> >> >
> >>> >> > thanks for looking at this. (Also thanks for the other replies
> from
> >>> you
> >>> >> and Tom, I just had no time to continue with my work on that.)
> >>> >> >
> >>> >> > We let eclipse UML2 do the work when applying a stereotype, see
> >>> >> addAllStereotypes(...) in CoreHelperEUMLImpl. I've recently wrote
> an
> >>> article about
> >>> >> what happens in the dev wiki, see
> >>> >> http://argouml.tigris.org/wiki/UML2%2C_Profiles_and_XMI where I
> used
> >>> XMLDump a lot.
> >>> >> >
> >>> >> > I'd say that option a) is not the case, so I tend towards b). As
> you
> >>> can
> >>> >> see, the class itself is not altered when applying a stereotype. To
> >>> check
> >>> >> for applied stereotypes, we also use a eclipse UML2 method.
> >>> >> >
> >>> >> > Does that give you any idea from how to create and listen the
> events
> >>> >> properly for applying/unapplying stereotypes?
> >>> >> >
> >>> >> > Thomas
> >>> >> >
> >>> >> > -------- Original-Nachricht --------
> >>> >> >> Datum: Wed, 9 Feb 2011 03:25:09 +0000
> >>> >> >> Von: Bob Tarling <[email protected]>
> >>> >> >> An: [email protected]
> >>> >> >> Betreff: Re: [argouml-dev] UML2: How to feed the model event
> pump
> >>> for
> >>> >> tagged values?
> >>> >> >
> >>> >> >> I've been looking at a similar issue for stereotypes and I think
> the
> >>> >> >> clue comes from looking at the View->XMLDump results having
> added
> >>> >> >> stereotypes to a class.
> >>> >> >>
> >>> >> >> Here I created a class Test and added all the possible
> stereotypes.
> >>> >> >> The XMI portion of the dump is below.
> >>> >> >>
> >>> >> >> Notice that the tags that represent the stereotype attachments
> to
> >>> the
> >>> >> >> class are outside the </uml:Model> end tag.
> >>> >> >>
> >>> >> >> I suspect either
> >>> >> >> a) We are creating the sterotypes (and tagged values??) in the
> wrong
> >>> >> place
> >>> >> >> or
> >>> >> >> b) There is no way to listen for stereotypes being added to an
> >>> >> >> element. Instead we need to listen for them being added to the
> >>> >> >> repository and when detected determine what element they should
> be
> >>> >> >> attached to.
> >>> >> >>
> >>> >> >> <xmi:XMI xmi:version="2.1"
> >>> >> >>     xmlns:xmi="http://schema.omg.org/spec/XMI/2.1";
> >>> >> >> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> >>> >> >>
> >>> >> >>
> >>> >>
> >>>
> xmlns:UML22StandardElements="http:///schemas/UML22StandardElements/_EshpMAjiEeC74rHqA76v5A/0";
> >>> >> >> xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore";
> >>> >> >>     xmlns:uml="http://schema.omg.org/spec/UML/2.2";
> >>> >> >>
> >>> >>
> >>>
> xsi:schemaLocation="http:///schemas/UML22StandardElements/_EshpMAjiEeC74rHqA76v5A/0
> >>> >> >>
> >>> >>
> >>>
> http://argouml.org/profiles/uml22/default-uml22.xmi#_Es-VIAjiEeC74rHqA76v5A
> >>> >> >> http://schema.omg.org/spec/UML/2.2
> >>> >> >> http://www.eclipse.org/uml2/3.0.0/UML";>
> >>> >> >>   <uml:Model xmi:id="_SUdPoDPxEeCIdeSzV50Lfg"
> name="untitledModel">
> >>> >> >>     <packagedElement xmi:type="uml:Class"
> >>> >> >> xmi:id="_SxMO8DPxEeCIdeSzV50Lfg" name="Test"/>
> >>> >> >>     <profileApplication xmi:type="uml:ProfileApplication"
> >>> >> >> xmi:id="_SUnAoDPxEeCIdeSzV50Lfg"
> >>> >> >> applyingPackage="_SUdPoDPxEeCIdeSzV50Lfg">
> >>> >> >>       <xmi:Extension
> >>> >> extender="http://www.eclipse.org/emf/2002/Ecore";>
> >>> >> >>         <eAnnotations xmi:type="ecore:EAnnotation"
> >>> >> >> xmi:id="_SUnAoTPxEeCIdeSzV50Lfg"
> >>> >> >> source="http://www.eclipse.org/uml2/2.0.0/UML";>
> >>> >> >>           <references xmi:type="ecore:EPackage"
> >>> >> >>
> >>> >>
> >>>
> href="http://argouml.org/profiles/uml22/default-uml22.xmi#_Es-VIAjiEeC74rHqA76v5A"/>
> >>> >> >>         </eAnnotations>
> >>> >> >>       </xmi:Extension>
> >>> >> >>       <appliedProfile xmi:type="uml:Profile"
> >>> >> >>
> >>> >>
> >>>
> href="http://argouml.org/profiles/uml22/default-uml22.xmi#_PB5O8MoqEd6otN4YcPG1_w"/>
> >>> >> >>     </profileApplication>
> >>> >> >>   </uml:Model>
> >>> >> >>   <UML22StandardElements:focus xmi:id="_XG6ckDPyEeCIdeSzV50Lfg"
> >>> >> >> base_Class="_SxMO8DPxEeCIdeSzV50Lfg"/>
> >>> >> >>   <UML22StandardElements:implementationClass
> >>> >> >> xmi:id="_Y614UDPyEeCIdeSzV50Lfg"
> >>> >> >> base_Class="_SxMO8DPxEeCIdeSzV50Lfg"/>
> >>> >> >>   <UML22StandardElements:auxiliary
> xmi:id="_az0MIDPyEeCIdeSzV50Lfg"
> >>> >> >> base_Class="_SxMO8DPxEeCIdeSzV50Lfg"/>
> >>> >> >>   <UML22StandardElements:metaclass
> xmi:id="_bkeNADPyEeCIdeSzV50Lfg"
> >>> >> >> base_Class="_SxMO8DPxEeCIdeSzV50Lfg"/>
> >>> >> >>   <UML22StandardElements:realization
> >>> xmi:id="_cbhw0DPyEeCIdeSzV50Lfg"
> >>> >> >> base_Classifier="_SxMO8DPxEeCIdeSzV50Lfg"/>
> >>> >> >>   <UML22StandardElements:specification
> >>> >> >> xmi:id="_c_QI8DPyEeCIdeSzV50Lfg"
> >>> >> >> base_Classifier="_SxMO8DPxEeCIdeSzV50Lfg"/>
> >>> >> >>   <UML22StandardElements:type xmi:id="_dlC9oDPyEeCIdeSzV50Lfg"
> >>> >> >> base_Class="_SxMO8DPxEeCIdeSzV50Lfg"/>
> >>> >> >>   <UML22StandardElements:utility
> xmi:id="_eFpwUDPyEeCIdeSzV50Lfg"
> >>> >> >> base_Class="_SxMO8DPxEeCIdeSzV50Lfg"/>
> >>> >> >> </xmi:XMI>
> >>> >> >>
> >>> >> >> Bob
> >>> >> >>
> >>> >> >> On 31 January 2011 17:41, Bob Tarling <[email protected]>
> wrote:
> >>> >> >> > I had hoped that the tagged values tab would move into a
> control
> >>> on
> >>> >> >> > the properties panel.
> >>> >> >> >
> >>> >> >> > The properties panel is driven by a configuration XML file for
> the
> >>> >> >> > model subsystem where the property names are specified in that
> >>> file.
> >>> >> >> > So there is no need to map the UML2 property names to UML1.x
> >>> >> >> >
> >>> >> >> > Bob
> >>> >> >> >
> >>> >> >> > On 31 January 2011 11:31, Tom Morris <[email protected]>
> wrote:
> >>> >> >> >> On Mon, Jan 31, 2011 at 5:00 AM, Thomas Neustupny
> <[email protected]>
> >>> >> wrote:
> >>> >> >> >>
> >>> >> >> >>> my work on tagged values for UML2 (using stereotype
> properties)
> >>> is
> >>> >> >> stalling because I'm just not keen enough to work with the model
> >>> event
> >>> >> pump.
> >>> >> >> At least this is what I'm guessing, because while with MDR
> events
> >>> are
> >>> >> fired
> >>> >> >> when choosing a tag definition in the tagged values pane,
> nothing
> >>> >> happens
> >>> >> >> when doing the same with eUML.
> >>> >> >> >>>
> >>> >> >> >>> Can someone explain to me what I should do? I've read
> >>> >> >> >>> http://argouml.tigris.org/wiki/%3C%3CSubsystem%3E%3E_Model,
> but
> >>> >> still
> >>> >> >> have no solution.
> >>> >> >> >>
> >>> >> >> >> A lot of this stuff at the top of that page is of historical
> >>> >> interest
> >>> >> >> >> only or no interest at all.  The main thing to understand is
> >>> that
> >>> >> both
> >>> >> >> >> the event listener registration and listener processing
> itself
> >>> needs
> >>> >> >> >> to be correct and the name of the events/properties, as well
> as
> >>> >> their
> >>> >> >> >> source, is tied to the UML metamodel.  If you're listening
> to a
> >>> UML
> >>> >> >> >> 1.4 source for a UML 1.4 property name and this has changed
> in
> >>> UML
> >>> >> >> >> 2.x, your listener code will never get invoked.
> >>> >> >> >>
> >>> >> >> >> When I was working on the UML 1.3 to UML 1.4 conversion the
> event
> >>> >> >> >> processing is where a large portion of the time went, so I
> >>> wouldn't
> >>> >> be
> >>> >> >> >> surprised if the same  were true when moving to UML 2.x.
> >>> >> >> >>
> >>> >> >> >> If you look at the current event pump implementation, you'll
> see
> >>> >> that
> >>> >> >> >> each event basically gets replicated.  This is because
> >>> >> relationships
> >>> >> >> >> are asymmetric in MDR and it only fires an event for what it
> >>> >> considers
> >>> >> >> >> to be the "owning" end of the relationship, with the
> associated
> >>> >> >> >> property name.  The old NSUML event registration code
> basically
> >>> >> >> >> expected to be able to register for either end, so the event
> pump
> >>> >> >> >> looks up the inverse property and fires events for that too.
>  I
> >>> >> think
> >>> >> >> >> either Bogdan or I replicated all this machinery for the eUML
> >>> >> >> >> implementation already, so this is primarily background
> >>> information
> >>> >> >> >> rather than something you should need to actively worry
> about.
> >>> >> >> >>
> >>> >> >> >> As I recall there's also some simple property name mapping
> which
> >>> >> will
> >>> >> >> >> map from UML 2.x property names back to UML 1.4 equivalent
> names,
> >>> >> but
> >>> >> >> >> this is likely to only be effective in the simplest of cases.
> >>>  If
> >>> >> >> >> you're listening to the wrong object, it won't matter what
> the
> >>> >> >> >> property names are.
> >>> >> >> >>
> >>> >> >> >> If you've got a specific question I'd be happy to answer it,
> but
> >>> >> there
> >>> >> >> >> is not going to be any magic bullet here.  It's just going
> to
> >>> >> require
> >>> >> >> >> going through and conditionalizing things that have changed
> >>> between
> >>> >> >> >> the two metamodels (or providing mappings within the event
> pump,
> >>> >> where
> >>> >> >> >> that's possible).
> >>> >> >> >>
> >>> >> >> >> Tom
> >>> >> >> >>
> >>> >> >> >> ------------------------------------------------------
> >>> >> >> >>
> >>> >> >>
> >>> >>
> >>>
> http://argouml.tigris.org/ds/viewMessage.do?dsForumId=450&dsMessageId=2701698
> >>> >> >> >>
> >>> >> >> >> 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]]
> >>> >> >> >>
> >>> >> >> >
> >>> >> >>
> >>> >> >> ------------------------------------------------------
> >>> >> >>
> >>> >>
> >>>
> http://argouml.tigris.org/ds/viewMessage.do?dsForumId=450&dsMessageId=2702922
> >>> >> >>
> >>> >> >> 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]]
> >>> >> >
> >>> >> > --
> >>> >> > NEU: FreePhone - kostenlos mobil telefonieren und surfen!
> >>> >> > Jetzt informieren: http://www.gmx.net/de/go/freephone
> >>> >> >
> >>> >> > ------------------------------------------------------
> >>> >> >
> >>> >>
> >>>
> http://argouml.tigris.org/ds/viewMessage.do?dsForumId=450&dsMessageId=2702984
> >>> >> >
> >>> >> > 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]]
> >>> >> >
> >>> >>
> >>> >> ------------------------------------------------------
> >>> >>
> >>>
> http://argouml.tigris.org/ds/viewMessage.do?dsForumId=450&dsMessageId=2703001
> >>> >>
> >>> >> 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]]
> >>> >
> >>> > --
> >>> > Schon gehört? GMX hat einen genialen Phishing-Filter in die
> >>> > Toolbar eingebaut! http://www.gmx.net/de/go/toolbar
> >>> >
> >>> > ------------------------------------------------------
> >>> >
> >>>
> http://argouml.tigris.org/ds/viewMessage.do?dsForumId=450&dsMessageId=2703042
> >>> >
> >>> > 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]]
> >>> >
> >>>
> >>> ------------------------------------------------------
> >>>
> http://argouml.tigris.org/ds/viewMessage.do?dsForumId=450&dsMessageId=2703111
> >>>
> >>> 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]]
> >>
> >> --
> >> GMX DSL Doppel-Flat ab 19,99 Euro/mtl.! Jetzt mit
> >> gratis Handy-Flat! http://portal.gmx.net/de/go/dsl
> >>
> >> ------------------------------------------------------
> >>
> http://argouml.tigris.org/ds/viewMessage.do?dsForumId=450&dsMessageId=2703195
> >>
> >> 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]]
> >>
> >
> 
> ------------------------------------------------------
> http://argouml.tigris.org/ds/viewMessage.do?dsForumId=450&dsMessageId=2703356
> 
> 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]]

-- 
NEU: FreePhone - kostenlos mobil telefonieren und surfen!                       
Jetzt informieren: http://www.gmx.net/de/go/freephone

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

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