Skip to main content



      Home
Home » Modeling » GMF (Graphical Modeling Framework) » Helpers Generation
Helpers Generation [message #68505] Tue, 24 October 2006 09:04 Go to next message
Eclipse UserFriend
Originally posted by: greenl.mot.com

I noticed the diagram project generator will generate two kinds of classes
in helpers package:
1. XXXEditHelper
2. XXXEditHelperAdvice

My two concern to the generation (My version is M-02):

First, For XXXEditHelper, all concrete Helper classes will extends from a
YYYBaseEditHelper (where YYY is the root element name). But
XXXEditHelperAdvice classes does not have a project level base class to
extend, instead they extends directly from AbstractEditHelperAdvice defined
in the gmf runtime, I wonder why it makes this kind of differences? Why not
give a project level base for the EditHelperAdvice classes?

Second, I am expecting the generator be more intelligent to notice my class
hierarchies defined in the ecore model, say I have class A, A1, A2 defined
in my ecore model, with A1 extends A and A2 extends A as well. I hope there
following help classes generated in the helpers package:

1. MyModelBaseEditHelper extends AbstractEditHelper
2. MyModelBaseEditHelperAdvice extends AbstractEditHelperAdvice
3. AEditHelper extends MyModelBaseEditHelper
4. A1EditHelper extends AEditHelper
5. A2EditHelper extends AEditHelper
6. AEditHelperAdvice extends MyModelBaseEditHelperAdvice
7. A1EditHelperAdvice extends AEditHelperAdvice
8. A2EditHelperAdvice extends AEditHelperAdvice

As a comparison, the current GMF generator generates the following classes
1. MyModelBaseEditHelper extends AbstractEditHelper
2. <-- missed MyModelBaseEditHelperAdvice -->
3. AEditHelper extends MyModelBaseEditHelper
4. A1EditHelper extends MyModelBaseEditHelper
5. A2EditHelper extends MyModelBaseEditHelper
6. AEditHelperAdvice extends AbstractEditHelperAdvice
7. A1EditHelperAdvice extends AbstractEditHelperAdvice
8. A2EditHelperAdvice extends AbstractEditHelperAdvice

I don't know if I missed some important concepts or should I submit a bug
for future enhancement. I am all my ear to you gurus's opinion on this
point.

Thanks,
Green
Re: Helpers Generation [message #68751 is a reply to message #68505] Tue, 24 October 2006 18:04 Go to previous messageGo to next message
Eclipse UserFriend
Hi Green,

Yes, from a manual customization point of view it's most convenient if
the edit helper hierarchy mirrors the hierarchy in your ecore model so
that you can inherit common behaviours. I suppose that for generated
code it isn't as important (the same behaviour can be generated into
each edit helper).

Having a XXXBaseEditHelperAdvice might be nice, too, in case your
application has common behaviour for its advice.

I'd say an enhancement request would be in order, but maybe there are
considerations in the generator that I'm not aware of?

Regards,
Linda

Green Law wrote:
> I noticed the diagram project generator will generate two kinds of classes
> in helpers package:
> 1. XXXEditHelper
> 2. XXXEditHelperAdvice
>
> My two concern to the generation (My version is M-02):
>
> First, For XXXEditHelper, all concrete Helper classes will extends from a
> YYYBaseEditHelper (where YYY is the root element name). But
> XXXEditHelperAdvice classes does not have a project level base class to
> extend, instead they extends directly from AbstractEditHelperAdvice defined
> in the gmf runtime, I wonder why it makes this kind of differences? Why not
> give a project level base for the EditHelperAdvice classes?
>
> Second, I am expecting the generator be more intelligent to notice my class
> hierarchies defined in the ecore model, say I have class A, A1, A2 defined
> in my ecore model, with A1 extends A and A2 extends A as well. I hope there
> following help classes generated in the helpers package:
>
> 1. MyModelBaseEditHelper extends AbstractEditHelper
> 2. MyModelBaseEditHelperAdvice extends AbstractEditHelperAdvice
> 3. AEditHelper extends MyModelBaseEditHelper
> 4. A1EditHelper extends AEditHelper
> 5. A2EditHelper extends AEditHelper
> 6. AEditHelperAdvice extends MyModelBaseEditHelperAdvice
> 7. A1EditHelperAdvice extends AEditHelperAdvice
> 8. A2EditHelperAdvice extends AEditHelperAdvice
>
> As a comparison, the current GMF generator generates the following classes
> 1. MyModelBaseEditHelper extends AbstractEditHelper
> 2. <-- missed MyModelBaseEditHelperAdvice -->
> 3. AEditHelper extends MyModelBaseEditHelper
> 4. A1EditHelper extends MyModelBaseEditHelper
> 5. A2EditHelper extends MyModelBaseEditHelper
> 6. AEditHelperAdvice extends AbstractEditHelperAdvice
> 7. A1EditHelperAdvice extends AbstractEditHelperAdvice
> 8. A2EditHelperAdvice extends AbstractEditHelperAdvice
>
> I don't know if I missed some important concepts or should I submit a bug
> for future enhancement. I am all my ear to you gurus's opinion on this
> point.
>
> Thanks,
> Green
>
>
Re: Helpers Generation [message #70747 is a reply to message #68751] Fri, 27 October 2006 08:14 Go to previous message
Eclipse UserFriend
>> Second, I am expecting the generator be more intelligent to notice my
>> class hierarchies defined in the ecore model, say I have class A, A1, A2
>> defined in my ecore model, with A1 extends A and A2 extends A as well. I
>> hope there

Generally, one can't assume such reuse will happen, and introducing any
heuristics here just complicates matter. However, GMF is *tool for
toolsmith* and you are supposed to modify it to fit your needs - add your
templates/logic to detect duplications/abstract superclasses and generate
the code you like most ;). And file bugs to let us know we can improve
pieces to ease customization step for you


Artem

"Linda Damus" <ldamus@ca.ibm.com> wrote in message
news:ehm2la$ipf$1@utils.eclipse.org...
> Hi Green,
>
> Yes, from a manual customization point of view it's most convenient if the
> edit helper hierarchy mirrors the hierarchy in your ecore model so that
> you can inherit common behaviours. I suppose that for generated code it
> isn't as important (the same behaviour can be generated into each edit
> helper).
>
> Having a XXXBaseEditHelperAdvice might be nice, too, in case your
> application has common behaviour for its advice.
>
> I'd say an enhancement request would be in order, but maybe there are
> considerations in the generator that I'm not aware of?
>
> Regards,
> Linda
>
> Green Law wrote:
>> I noticed the diagram project generator will generate two kinds of
>> classes in helpers package:
>> 1. XXXEditHelper
>> 2. XXXEditHelperAdvice
>>
>> My two concern to the generation (My version is M-02):
>>
>> First, For XXXEditHelper, all concrete Helper classes will extends from a
>> YYYBaseEditHelper (where YYY is the root element name). But
>> XXXEditHelperAdvice classes does not have a project level base class to
>> extend, instead they extends directly from AbstractEditHelperAdvice
>> defined in the gmf runtime, I wonder why it makes this kind of
>> differences? Why not give a project level base for the EditHelperAdvice
>> classes?
>>
>> Second, I am expecting the generator be more intelligent to notice my
>> class hierarchies defined in the ecore model, say I have class A, A1, A2
>> defined in my ecore model, with A1 extends A and A2 extends A as well. I
>> hope there following help classes generated in the helpers package:
>>
>> 1. MyModelBaseEditHelper extends AbstractEditHelper
>> 2. MyModelBaseEditHelperAdvice extends AbstractEditHelperAdvice
>> 3. AEditHelper extends MyModelBaseEditHelper
>> 4. A1EditHelper extends AEditHelper
>> 5. A2EditHelper extends AEditHelper
>> 6. AEditHelperAdvice extends MyModelBaseEditHelperAdvice
>> 7. A1EditHelperAdvice extends AEditHelperAdvice
>> 8. A2EditHelperAdvice extends AEditHelperAdvice
>>
>> As a comparison, the current GMF generator generates the following
>> classes
>> 1. MyModelBaseEditHelper extends AbstractEditHelper
>> 2. <-- missed MyModelBaseEditHelperAdvice -->
>> 3. AEditHelper extends MyModelBaseEditHelper
>> 4. A1EditHelper extends MyModelBaseEditHelper
>> 5. A2EditHelper extends MyModelBaseEditHelper
>> 6. AEditHelperAdvice extends AbstractEditHelperAdvice
>> 7. A1EditHelperAdvice extends AbstractEditHelperAdvice
>> 8. A2EditHelperAdvice extends AbstractEditHelperAdvice
>>
>> I don't know if I missed some important concepts or should I submit a bug
>> for future enhancement. I am all my ear to you gurus's opinion on this
>> point.
>>
>> Thanks,
>> Green
Previous Topic:updating diagram when automatically removing transient children
Next Topic:Code for Outline
Goto Forum:
  


Current Time: Fri May 09 14:02:36 EDT 2025

Powered by FUDForum. Page generated in 0.24216 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top