Home » Archived » M2M (model-to-model transformation) » [QVTO]when a type does not conform to itself?
[QVTO]when a type does not conform to itself? [message #79695] |
Mon, 21 April 2008 21:16 |
Eclipse User |
|
|
|
Originally posted by: comouraf-lixo.yahoo.fr
Hi,
I'm getting the following error:
> "The type 'collections::Bag(MySpecialConnector)' does not conform to the
> type 'Bag(MySpecialConnector)' of the property 'ownedConnectors'"
originating in the line:
> ownedConnectors:=self.ownedConnector->map toMySpecialConnector();
where 'ownedConnectors' is an attribute from a superclass defined in another
metamodel (visible via code completion). The same assignement works when
called in the superclass.
Any idea on what is happening here?
Thanks,
César
|
|
|
Re: [QVTO]when a type does not conform to itself? [message #79710 is a reply to message #79695] |
Mon, 21 April 2008 21:43 |
Radomil Dvorak Messages: 249 Registered: July 2009 |
Senior Member |
|
|
Hi César,
Just a hint that first came to my mind, in case you use unqualified type
names and
both the source and target metamodel contain 'MySpecialConnector' type.
Could you check this case?
The type name can be qualified with the package name or even modeltype
name to resolve
ambiguities.
PS: However, if it's this case, we have to report ambiguos type reference.
Regards,
/Radek
On Mon, 21 Apr 2008 23:16:38 +0200, kaiserlautern <comouraf-lixo@yahoo.fr>
wrote:
> Hi,
>
> I'm getting the following error:
>
>> "The type 'collections::Bag(MySpecialConnector)' does not conform to
>> the type 'Bag(MySpecialConnector)' of the property 'ownedConnectors'"
>
> originating in the line:
>
> > ownedConnectors:=self.ownedConnector->map toMySpecialConnector();
>
> where 'ownedConnectors' is an attribute from a superclass defined in
> another metamodel (visible via code completion). The same assignement
> works when called in the superclass.
>
> Any idea on what is happening here?
>
> Thanks,
>
> César
--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
|
|
|
Re: [QVTO]when a type does not conform to itself? [message #79726 is a reply to message #79710] |
Mon, 21 April 2008 22:57 |
Eclipse User |
|
|
|
Originally posted by: comouraf-lixo.yahoo.fr
Hi, Radek,
I'm afraid this is not the problem, since all types are fully qualified.
Also, source mm is UML (no MySpecialConnector ;-). In any case, I reproduce
the whole mapping below. In this case, all attributes defined in the
subclass (Temp::ParameterableComponent) work fine, while ownedConnectors,
and any other attribute inherited from the superclass fail. If you have time
to check this problem, I can send you the metamodels.
Thank you again,
César
mapping UML::Class::toParameterableComponent():Temp::ParameterableCo mponent
when{ not self.ownedTemplateSignature.oclIsUndefined() }
{
init{
log(self.name);
result:=self.resolveone(Temp::ParameterableComponent);
}
name:=self.name;
formal:=self.ownedTemplateSignature.ownedParameter->map
toFormalParameter()->asOrderedSet();
innerElement:=self.ownedAttribute->map toParamProperty()->asOrderedSet();
innerElement+=self.ownedConnector->map toParamConnector()->asOrderedSet();
--ownedConnectors:=self.ownedConnector->map toAssemblyConnector();
}
"Radek Dvorak" <radek.dvorak@borland.com> a écrit dans le message de
news:op.t9zdahyihj1a1g@czprl-rdvorak2.emea.borl.net...
> Hi César,
>
> Just a hint that first came to my mind, in case you use unqualified type
> names and
> both the source and target metamodel contain 'MySpecialConnector' type.
> Could you check this case?
> The type name can be qualified with the package name or even modeltype
> name to resolve
> ambiguities.
>
> PS: However, if it's this case, we have to report ambiguos type reference.
>
> Regards,
> /Radek
>
>
> On Mon, 21 Apr 2008 23:16:38 +0200, kaiserlautern <comouraf-lixo@yahoo.fr>
> wrote:
>
>> Hi,
>>
>> I'm getting the following error:
>>
>>> "The type 'collections::Bag(MySpecialConnector)' does not conform to
>>> the type 'Bag(MySpecialConnector)' of the property 'ownedConnectors'"
>>
>> originating in the line:
>>
>> > ownedConnectors:=self.ownedConnector->map toMySpecialConnector();
>>
>> where 'ownedConnectors' is an attribute from a superclass defined in
>> another metamodel (visible via code completion). The same assignement
>> works when called in the superclass.
>>
>> Any idea on what is happening here?
>>
>> Thanks,
>>
>> César
>
>
>
> --
> Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
|
|
|
Re: [QVTO]when a type does not conform to itself? [message #79740 is a reply to message #79726] |
Mon, 21 April 2008 23:09 |
Radomil Dvorak Messages: 249 Registered: July 2009 |
Senior Member |
|
|
Sure, send the metamodels if you can please ;-)
/Radek
On Tue, 22 Apr 2008 00:57:57 +0200, kaiserlautern <comouraf-lixo@yahoo.fr>
wrote:
> Hi, Radek,
>
> I'm afraid this is not the problem, since all types are fully qualified.
> Also, source mm is UML (no MySpecialConnector ;-). In any case, I
> reproduce the whole mapping below. In this case, all attributes defined
> in the subclass (Temp::ParameterableComponent) work fine, while
> ownedConnectors, and any other attribute inherited from the superclass
> fail. If you have time to check this problem, I can send you the
> metamodels.
>
> Thank you again,
>
> César
>
> mapping
> UML::Class::toParameterableComponent():Temp::ParameterableCo mponent
> when{ not self.ownedTemplateSignature.oclIsUndefined() }
> {
> init{
> log(self.name);
> result:=self.resolveone(Temp::ParameterableComponent);
> }
> name:=self.name;
> formal:=self.ownedTemplateSignature.ownedParameter->map
> toFormalParameter()->asOrderedSet();
> innerElement:=self.ownedAttribute->map
> toParamProperty()->asOrderedSet();
> innerElement+=self.ownedConnector->map
> toParamConnector()->asOrderedSet();
> --ownedConnectors:=self.ownedConnector->map toAssemblyConnector();
> }
>
> "Radek Dvorak" <radek.dvorak@borland.com> a écrit dans le message de
> news:op.t9zdahyihj1a1g@czprl-rdvorak2.emea.borl.net...
>> Hi César,
>>
>> Just a hint that first came to my mind, in case you use unqualified
>> type names and
>> both the source and target metamodel contain 'MySpecialConnector' type.
>> Could you check this case?
>> The type name can be qualified with the package name or even modeltype
>> name to resolve
>> ambiguities.
>>
>> PS: However, if it's this case, we have to report ambiguos type
>> reference.
>>
>> Regards,
>> /Radek
>>
>>
>> On Mon, 21 Apr 2008 23:16:38 +0200, kaiserlautern
>> <comouraf-lixo@yahoo.fr> wrote:
>>
>>> Hi,
>>>
>>> I'm getting the following error:
>>>
>>>> "The type 'collections::Bag(MySpecialConnector)' does not conform to
>>>> the type 'Bag(MySpecialConnector)' of the property 'ownedConnectors'"
>>>
>>> originating in the line:
>>>
>>> > ownedConnectors:=self.ownedConnector->map toMySpecialConnector();
>>>
>>> where 'ownedConnectors' is an attribute from a superclass defined in
>>> another metamodel (visible via code completion). The same assignement
>>> works when called in the superclass.
>>>
>>> Any idea on what is happening here?
>>>
>>> Thanks,
>>>
>>> César
>>
>>
>>
>> -- Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
>
--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
|
|
|
Re: [QVTO]when a type does not conform to itself? [message #630085 is a reply to message #79740] |
Thu, 30 September 2010 15:28 |
Macca1892 Messages: 14 Registered: May 2010 |
Junior Member |
|
|
Hello, I have a similar problem
"The type 'xxx::Bag(LocalVariable)' does not conform to the type 'abc::Variable' of the property 'Variable'"
varExp.Variable := exp.oclAsType(mm::VariableExpression).variable->map mapVar();
---
The mapping is very simple like this:
mapping mm::Variable::mapVar() : abc::Variable{
...
}
any suggestions?
[Updated on: Thu, 30 September 2010 15:30] Report message to a moderator
|
|
| |
Goto Forum:
Current Time: Thu Mar 28 14:03:45 GMT 2024
Powered by FUDForum. Page generated in 0.02782 seconds
|