Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [sapphire-dev] ClassCastException in action label

Please open a bug and I will take a look. Need to see if parent() function is sensible in this context, but it shouldn’t throw an exception in either case.

 

Also note that this _expression_ isn’t going to give you what you want. The ‘+’ operation is numeric addition only. It doesn’t overload to string concat. It will try to convert your string to numbers and add them. You’d want to write this like so:

 

<label>convert to ${ parent().BoundedTaskFlow ? "unbounded" : "bounded" } task flow</label>

 

 

From: sapphire-dev-bounces@xxxxxxxxxxx [mailto:sapphire-dev-bounces@xxxxxxxxxxx] On Behalf Of Shenxue Zhou
Sent: Wednesday, September 28, 2011 4:38 PM
To: Sapphire project
Subject: [sapphire-dev] ClassCastException in action label

 

I used this _expression_ for my action label:

 

<label>${"convert to " + (parent().BoundedTaskFlow ? "unbounded" : "bounded") + " task flow"}</label>

 

I got the following exception when the action is initilized. Is this an outage?

 

Caused by: java.lang.ClassCastException: org.eclipse.sapphire.ui.SapphireAction$3 cannot be cast to org.eclipse.sapphire.modeling.el.ModelElementFunctionContext

at org.eclipse.sapphire.modeling.el.ParentElementFunction$1.evaluate(ParentElementFunction.java:56)

at org.eclipse.sapphire.modeling.el.FunctionResult.refresh(FunctionResult.java:171)

at org.eclipse.sapphire.modeling.el.FunctionResult.<init>(FunctionResult.java:70)

at org.eclipse.sapphire.modeling.el.ParentElementFunction$1.<init>(ParentElementFunction.java:46)

at org.eclipse.sapphire.modeling.el.ParentElementFunction.evaluate(ParentElementFunction.java:46)

at org.eclipse.sapphire.modeling.el.DeferredFunction$1.init(DeferredFunction.java:60)

at org.eclipse.sapphire.modeling.el.FunctionResult.<init>(FunctionResult.java:69)

at org.eclipse.sapphire.modeling.el.DeferredFunction$1.<init>(DeferredFunction.java:49)

at org.eclipse.sapphire.modeling.el.DeferredFunction.evaluate(DeferredFunction.java:49)

at org.eclipse.sapphire.modeling.el.FunctionResult.initOperands(FunctionResult.java:91)

at org.eclipse.sapphire.modeling.el.FunctionResult.<init>(FunctionResult.java:50)

at org.eclipse.sapphire.modeling.el.PropertyAccessFunction$1.<init>(PropertyAccessFunction.java:74)

at org.eclipse.sapphire.modeling.el.PropertyAccessFunction.evaluate(PropertyAccessFunction.java:74)

at org.eclipse.sapphire.modeling.el.ConditionalFunction$1.initOperands(ConditionalFunction.java:87)

at org.eclipse.sapphire.modeling.el.FunctionResult.<init>(FunctionResult.java:50)

at org.eclipse.sapphire.modeling.el.ConditionalFunction$1.<init>(ConditionalFunction.java:60)

at org.eclipse.sapphire.modeling.el.ConditionalFunction.evaluate(ConditionalFunction.java:60)

at org.eclipse.sapphire.modeling.el.FunctionResult.initOperands(FunctionResult.java:91)

at org.eclipse.sapphire.modeling.el.FunctionResult.<init>(FunctionResult.java:50)

at org.eclipse.sapphire.modeling.el.AddFunction$1.<init>(AddFunction.java:65)

at org.eclipse.sapphire.modeling.el.AddFunction.evaluate(AddFunction.java:65)

at org.eclipse.sapphire.modeling.el.FunctionResult.initOperands(FunctionResult.java:91)

at org.eclipse.sapphire.modeling.el.FunctionResult.<init>(FunctionResult.java:50)

at org.eclipse.sapphire.modeling.el.AddFunction$1.<init>(AddFunction.java:65)

at org.eclipse.sapphire.modeling.el.AddFunction.evaluate(AddFunction.java:65)

at org.eclipse.sapphire.modeling.el.FunctionResult.initOperands(FunctionResult.java:91)

at org.eclipse.sapphire.modeling.el.FunctionResult.<init>(FunctionResult.java:50)

at org.eclipse.sapphire.modeling.el.FailSafeFunction$1.<init>(FailSafeFunction.java:81)

at org.eclipse.sapphire.modeling.el.FailSafeFunction.evaluate(FailSafeFunction.java:81)

at org.eclipse.sapphire.ui.SapphireActionSystemPart.init(SapphireActionSystemPart.java:71)

at org.eclipse.sapphire.ui.SapphireAction.init(SapphireAction.java:100)

at org.eclipse.sapphire.ui.SapphireActionGroup.createActions(SapphireActionGroup.java:181)

at org.eclipse.sapphire.ui.SapphireActionGroup.<init>(SapphireActionGroup.java:53)


Back to the top