Home » Modeling » EMF "Technology" (Ecore Tools, EMFatic, etc) » EDataType and '<' operation in OCL expression
|
Re: EDataType and '<' operation in OCL expression [message #21463 is a reply to message #21447] |
Tue, 07 February 2006 23:44 |
Eclipse User |
|
|
|
Originally posted by: cdamus.ca.ibm.com
Hi, Radek,
You should absolutely expect that '<', '>', '<=', and '>=' would be
supported for EDataTypes implementing the Comparable interface. As I read
the OCL spec, any OCL type (including types defined by a model) should be
able to define these infix operations (also arithmetic and boolean
operations, but that's another matter).
Sounds like a bug!
Cheers,
Christian
Radek Dvorak wrote:
> Hi,
>
> Is '<' operation defined for EDataType which points by
> EDataType::instanceClass to a java class which
> implements Comparable?
> As mentioned in the thread 'order of returned items', the 'sortedBy'
> operation on collections implemented by EMFT
> understands the definition of '<' operation as implementation of
> 'java.lang.Comparable' interface.
>
> It works for me in the following example with use of ecore::EDate:
> This is the context classifier described in emfatic source.
> class Topic {
> attr String[1] name;
> attr Date startDate;
> attr Date endDate;
> }
>
> 1) the following expression works fine and is evaluated by using
> 'java.util.Date.compareTo'.
> Bag { startDate, endDate }->sortedBy(d|d)->last() = endDate
>
> 2) but the expression below fails with: "AnyType: the source of operation:
> (lessThan) must be an EClass"
> startDate < endDate
>
> Am I wrong to expect that if '<' was found as defined in 'sortedBy' it
> should be resolved also in the second expression?
>
> Regards,
> /Radek
|
|
|
Re: EDataType and '<' operation in OCL expression [message #21472 is a reply to message #21463] |
Wed, 08 February 2006 08:47 |
Radomil Dvorak Messages: 249 Registered: July 2009 |
Senior Member |
|
|
I have raised https://bugs.eclipse.org/bugs/show_bug.cgi?id=126872
Thanks,
/Radek
"Christian W. Damus" <cdamus@ca.ibm.com> wrote in message
news:dsbbcq$u77$1@utils.eclipse.org...
>
> Hi, Radek,
>
> You should absolutely expect that '<', '>', '<=', and '>=' would be
> supported for EDataTypes implementing the Comparable interface. As I read
> the OCL spec, any OCL type (including types defined by a model) should be
> able to define these infix operations (also arithmetic and boolean
> operations, but that's another matter).
>
> Sounds like a bug!
>
> Cheers,
>
> Christian
>
>
> Radek Dvorak wrote:
>
>> Hi,
>>
>> Is '<' operation defined for EDataType which points by
>> EDataType::instanceClass to a java class which
>> implements Comparable?
>> As mentioned in the thread 'order of returned items', the 'sortedBy'
>> operation on collections implemented by EMFT
>> understands the definition of '<' operation as implementation of
>> 'java.lang.Comparable' interface.
>>
>> It works for me in the following example with use of ecore::EDate:
>> This is the context classifier described in emfatic source.
>> class Topic {
>> attr String[1] name;
>> attr Date startDate;
>> attr Date endDate;
>> }
>>
>> 1) the following expression works fine and is evaluated by using
>> 'java.util.Date.compareTo'.
>> Bag { startDate, endDate }->sortedBy(d|d)->last() = endDate
>>
>> 2) but the expression below fails with: "AnyType: the source of
>> operation:
>> (lessThan) must be an EClass"
>> startDate < endDate
>>
>> Am I wrong to expect that if '<' was found as defined in 'sortedBy' it
>> should be resolved also in the second expression?
>>
>> Regards,
>> /Radek
>
|
|
|
Re: EDataType and '<' operation in OCL expression [message #566198 is a reply to message #21447] |
Tue, 07 February 2006 23:44 |
Eclipse User |
|
|
|
Originally posted by: cdamus.ca.ibm.com
Hi, Radek,
You should absolutely expect that '<', '>', '<=', and '>=' would be
supported for EDataTypes implementing the Comparable interface. As I read
the OCL spec, any OCL type (including types defined by a model) should be
able to define these infix operations (also arithmetic and boolean
operations, but that's another matter).
Sounds like a bug!
Cheers,
Christian
Radek Dvorak wrote:
> Hi,
>
> Is '<' operation defined for EDataType which points by
> EDataType::instanceClass to a java class which
> implements Comparable?
> As mentioned in the thread 'order of returned items', the 'sortedBy'
> operation on collections implemented by EMFT
> understands the definition of '<' operation as implementation of
> 'java.lang.Comparable' interface.
>
> It works for me in the following example with use of ecore::EDate:
> This is the context classifier described in emfatic source.
> class Topic {
> attr String[1] name;
> attr Date startDate;
> attr Date endDate;
> }
>
> 1) the following expression works fine and is evaluated by using
> 'java.util.Date.compareTo'.
> Bag { startDate, endDate }->sortedBy(d|d)->last() = endDate
>
> 2) but the expression below fails with: "AnyType: the source of operation:
> (lessThan) must be an EClass"
> startDate < endDate
>
> Am I wrong to expect that if '<' was found as defined in 'sortedBy' it
> should be resolved also in the second expression?
>
> Regards,
> /Radek
|
|
|
Re: EDataType and '<' operation in OCL expression [message #566253 is a reply to message #21463] |
Wed, 08 February 2006 08:47 |
Radomil Dvorak Messages: 249 Registered: July 2009 |
Senior Member |
|
|
I have raised https://bugs.eclipse.org/bugs/show_bug.cgi?id=126872
Thanks,
/Radek
"Christian W. Damus" <cdamus@ca.ibm.com> wrote in message
news:dsbbcq$u77$1@utils.eclipse.org...
>
> Hi, Radek,
>
> You should absolutely expect that '<', '>', '<=', and '>=' would be
> supported for EDataTypes implementing the Comparable interface. As I read
> the OCL spec, any OCL type (including types defined by a model) should be
> able to define these infix operations (also arithmetic and boolean
> operations, but that's another matter).
>
> Sounds like a bug!
>
> Cheers,
>
> Christian
>
>
> Radek Dvorak wrote:
>
>> Hi,
>>
>> Is '<' operation defined for EDataType which points by
>> EDataType::instanceClass to a java class which
>> implements Comparable?
>> As mentioned in the thread 'order of returned items', the 'sortedBy'
>> operation on collections implemented by EMFT
>> understands the definition of '<' operation as implementation of
>> 'java.lang.Comparable' interface.
>>
>> It works for me in the following example with use of ecore::EDate:
>> This is the context classifier described in emfatic source.
>> class Topic {
>> attr String[1] name;
>> attr Date startDate;
>> attr Date endDate;
>> }
>>
>> 1) the following expression works fine and is evaluated by using
>> 'java.util.Date.compareTo'.
>> Bag { startDate, endDate }->sortedBy(d|d)->last() = endDate
>>
>> 2) but the expression below fails with: "AnyType: the source of
>> operation:
>> (lessThan) must be an EClass"
>> startDate < endDate
>>
>> Am I wrong to expect that if '<' was found as defined in 'sortedBy' it
>> should be resolved also in the second expression?
>>
>> Regards,
>> /Radek
>
|
|
|
Goto Forum:
Current Time: Thu Apr 18 23:04:30 GMT 2024
Powered by FUDForum. Page generated in 0.02247 seconds
|