Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [ptp-dev] Problem with creating enumerated attribute definitions?

Greg
I found what I think may be another bug with enumerated attribute 
definitions, although in this case, I might be abusing the concept of an 
enuerated attribute.

I am trying to remove coding of specific values related to attributes 
defined by my proxy from my implementation of 
AbstractRMLaunchConfigurationDynamicTab. I have this working fine for 
default attribute values, and by use of enumerated attribute definitions, 
I have this working for attributes where I have a boolean selection such 
as yes/no. I realized I could build on this and use enumerated attribute 
definitions to specify the set of allowable selections that get added to a 
Combo box, and now have that working, except :-) for one attribute, where 
I have an editable Combo box where the user makes a choice of the single 
enumeration ('max') or types in a number to specify the value. For this 
one case, the enumerated attribute definition value set has only one 
value, which kind of stretches the concept of enumeration. 

The problem is that code near AbstractProxyRuntimeSystem line 832  does 
not accept an event with only a single enumeration value, and line 842 
fires a RuntimeMessageEvent. This goes somewhere, and I end up getting a 
null pointer exception.

I can code around this by including a dummy enumeration value, like '???' 
and having the code which creates the Combo box ignore the '???' when 
adding items to the combo box, but I wanted to get your opinion first.

Dave



Greg Watson <g.watson@xxxxxxxxxxxx> 
Sent by: ptp-dev-bounces@xxxxxxxxxxx
06/20/2007 11:25 AM
Please respond to
Parallel Tools Platform general developers <ptp-dev@xxxxxxxxxxx>


To
Parallel Tools Platform general developers <ptp-dev@xxxxxxxxxxx>
cc

Subject
Re: [ptp-dev] Problem with creating enumerated attribute definitions?






Agreed. It seems like they're both bugs. Hopefully Randy might be 
able to shed some light on this.

Greg

On Jun 20, 2007, at 8:45 AM, Dave Wootton wrote:

> Greg
> I was more concerned with the problem of not picking up the 2nd
> enumeration value from the enumeration attribute definition event the
> proxy sent to the front end than I was with getting a
> StringSetAttributeDefinition object generated by the front end 
> instead of
> the EnumeratedAttributeDefinition object that I was expecting to 
> get. I
> agree that getting back a StringSetAttributionDefinition object back
> instead or an EnumeratedAttributeDefinition object is likely a bug.
> Dave
>
>
>
> Greg Watson <g.watson@xxxxxxxxxxxx>
> Sent by: ptp-dev-bounces@xxxxxxxxxxx
> 06/19/2007 04:13 PM
> Please respond to
> Parallel Tools Platform general developers <ptp-dev@xxxxxxxxxxx>
>
>
> To
> Parallel Tools Platform general developers <ptp-dev@xxxxxxxxxxx>
> cc
>
> Subject
> Re: [ptp-dev] Problem with creating enumerated attribute definitions?
>
>
>
>
>
>
> Dave,
>
> You're so polite. It's highly likely to be a bug. If you're sending
> an ENUMERATED attribute type, then that's what you should get, not a
> StringSetAttribute.
>
> The StringSetAttribute is a new one on me. Anyone know what this is
> for? How does it differ from an ArrayAttribute?
>
> Greg
>
>
> On Jun 19, 2007, at 10:42 AM, Dave Wootton wrote:
>
>> I've made a change to my proxy to send enumerated attribute 
>> definition
>> events to the front end. My intent is to use these attribute
>> definitions
>> to set the labels on a pair or radio buttons representing a boolean
>> option. I've created a function in my proxy that sends the event to
>> the
>> front end in what I believe is the correct format <1, <n>, <id>,
>> ENUMERATED, <short_name> <long_name> <default> <attr> <attr> ...>
>> where
>> <n> is the number of following tokens (5 + number of enumerations)
>>
>> I did have a problem where even though I was sending across 2
>> enumerations, the StringSetAttributeDefinition that gets created
>> has only
>> the first enumeration. I found a line of code in
>> AbstractProxyRuntimeSystem line 832 which read 'if (pos < end) {'
>> which
>> was resulting in picking up only the first enumeration. If I
>> changed the
>> '<' to '<=' then I get a StringSetAttributeDefinition with the two
>> enumeration values.
>>
>> This is in the latest PTP code, since I updated my code this morning.
>>
>> Is this a problem with the AbstractProxyRuntimeSystem code, or have
>> I done
>> something wrong in my proxy?
>>
>> Also, when I send across an enumeration attribute definition, is it
>> supposed to result in the creation of a StringSetAttributeDefinition
>> object? I was expecting to see an EnumerationAttributeDefinition
>> object
>> created, but when I got a class cast exception based on that
>> assumtion, I
>> tracked down the code where the StringSetAttributeDefinition was
>> created.
>>
>> Generation of an EnumerationAttributeDefinition or a
>> StringSetAttributeDefinition is fine either way. Leaving the code
>> as-is
>> means I don't have to get the attribute definition and then create
>> a dummy
>> attribute to get the value, but that's not frequently called code
>> so isn't
>> a big deal.
>> Dave
>> _______________________________________________
>> ptp-dev mailing list
>> ptp-dev@xxxxxxxxxxx
>> https://dev.eclipse.org/mailman/listinfo/ptp-dev
>>
>
> _______________________________________________
> ptp-dev mailing list
> ptp-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/ptp-dev
>
>
> _______________________________________________
> ptp-dev mailing list
> ptp-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/ptp-dev
>

_______________________________________________
ptp-dev mailing list
ptp-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/ptp-dev




Back to the top