Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[sapphire-dev] New topic in forum Sapphire, called Property editor's property reference path is invalid., by Uli B

Title: Eclipse Community Forums
Subject: Property editor's property reference path is invalid. Author: Uli B Date: Thu, 14 May 2015 18:37
I have defined an Element like

public interface IScheduler extends Element {

  ElementType TYPE = new ElementType( IScheduler.class );

//ScheduleType
  
  @Type( base = ScheduleType.class )
  @XmlBinding( path = "scheduletype" )
  @DefaultValue( text = "once" )
  @Label( standard = "type" )
  @Required

  ValueProperty PROP_SCHEDULE_TYPE = new ValueProperty( TYPE, "ScheduleType" );

  Value<ScheduleType> getScheduleType();
  void setScheduleType( String value );
  void setScheduleType( ScheduleType value );
...


ScheduleType is just an enum and IScheduler is used in

@XmlBinding(path = "dispatcher")

public interface IDispatcher extends Element
{
  ElementType TYPE = new ElementType(IDispatcher.class);
...
//Scheduler
  
  @Type( base = IScheduler.class )
  @XmlElementBinding( path = "scheduler" )
//  @XmlBinding( path = "scheduler" )
//  @XmlElementBinding(path = "scheduler") //mappings = {@XmlElementBinding.Mapping(element = "scheduler", type = IScheduler.class)})
  @Label( standard = "type" )
  @Required

  ValueProperty PROP_SCHEDULER = new ValueProperty( TYPE, "Scheduler" );
  Value<IScheduler> getScheduler();
...


I the .sdef file I refer to IScheduler in a composite (at least I believe so):

	<composite>
		<id>scheduler</id>
		<content>
			<property-editor>ScheduleType</property-editor>
...
		</content>
	</composite>


and use it later in the editor page for IDispatcher:

<editor-page>
		<id>editor.page</id>
		<page-name>general</page-name>
		<outline-header-text>Dispatcher</outline-header-text>
		<page-header-text>Test Tree</page-header-text>
		<initial-selection>dispatcher</initial-selection>
		<root-node>
			<node>
...
				<section>
					<label>scheduler</label>
					<content>
						<include>scheduler</include>
					</content>
					<collapsible>true</collapsible>
				</section>
			</node>
		</root-node>
		<element-type>org.bricks.etml.etml.IDispatcher</element-type>
	</editor-page>


I expect to appear that composite as a section within the page, using the IScheduler as the underlying object. However, when I start the editor, I get a runtime exception:

org.eclipse.sapphire.modeling.el.FunctionException: RuntimeException: Property editor's property reference path "ScheduleType" is invalid.
	at org.eclipse.sapphire.modeling.el.FunctionResult.value(FunctionResult.java:232)
	at org.eclipse.sapphire.ui.SapphirePart.visible(SapphirePart.java:515)
	at org.eclipse.sapphire.ui.forms.MasterDetailsContentNodePart.computeValidation(MasterDetailsContentNodePart.java:735)
	at org.eclipse.sapphire.ui.SapphirePart.refreshValidation(SapphirePart.java:453)
...
Caused by: java.lang.RuntimeException: Property editor's property reference path "ScheduleType" is invalid.
	at org.eclipse.sapphire.ui.forms.PropertyEditorPart.init(PropertyEditorPart.java:135)
	at org.eclipse.sapphire.ui.SapphirePart.initialize(SapphirePart.java:206)
	at org.eclipse.sapphire.ui.forms.ContainerPart$Children.all(ContainerPart.java:191)
...


What is needed to get the correct reference?
[ Reply ][ Quote ][ View Topic/Message ][ Unsubscribe from this forum ]

Back to the top