Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Sapphire » Problem with DefinitionLoader since Sapphire 0.7 Build #418
Problem with DefinitionLoader since Sapphire 0.7 Build #418 [message #1219488] Wed, 04 December 2013 03:25 Go to next message
Hazem ELRAFFIEE is currently offline Hazem ELRAFFIEE
Messages: 59
Registered: September 2012
Member
Hello All Smile

I've been using Sapphire 0.7 till build #417 with no problems. Starting from build #418, the below stack trace comes when I try to use my MXML Editor to launch my *.mxml files.

My Editor is someway special. I'm following the Contacts/Calendar integrated editor; in order to view my XML file and the appropriate project_xxx.xml file, where xxx is a field in my MXML file.

I've attached my MXMLEditor.java

java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
	at java.util.ArrayList.RangeCheck(ArrayList.java:547)
	at java.util.ArrayList.get(ArrayList.java:322)
	at org.eclipse.sapphire.ElementList.get(ElementList.java:679)
	at org.eclipse.sapphire.ui.forms.WithImpliedPart$1.init(WithImpliedPart.java:83)
	at org.eclipse.sapphire.ui.forms.ContainerPart$Children.all(ContainerPart.java:169)
	at org.eclipse.sapphire.ui.forms.ContainerPart$Children.refreshVisibleChildren(ContainerPart.java:229)
	at org.eclipse.sapphire.ui.forms.ContainerPart$Children.visible(ContainerPart.java:213)
	at org.eclipse.sapphire.ui.forms.ContainerPart$1$1.evaluate(ContainerPart.java:78)
	at org.eclipse.sapphire.modeling.el.FunctionResult.refresh(FunctionResult.java:271)
	at org.eclipse.sapphire.modeling.el.FunctionResult.<init>(FunctionResult.java:94)
	at org.eclipse.sapphire.ui.forms.ContainerPart$1$1.<init>(ContainerPart.java:57)
	at org.eclipse.sapphire.ui.forms.ContainerPart$1.evaluate(ContainerPart.java:57)
	at org.eclipse.sapphire.modeling.el.FunctionResult.initOperands(FunctionResult.java:115)
	at org.eclipse.sapphire.modeling.el.FunctionResult.<init>(FunctionResult.java:75)
	at org.eclipse.sapphire.modeling.el.FailSafeFunction$1.<init>(FailSafeFunction.java:91)
	at org.eclipse.sapphire.modeling.el.FailSafeFunction.evaluate(FailSafeFunction.java:91)
	at org.eclipse.sapphire.ui.SapphirePart.initExpression(SapphirePart.java:250)
	at org.eclipse.sapphire.ui.SapphirePart.initExpression(SapphirePart.java:230)
	at org.eclipse.sapphire.ui.SapphirePart.visible(SapphirePart.java:485)
	at org.eclipse.sapphire.ui.forms.ContainerPart$Children.refreshVisibleChildren(ContainerPart.java:231)
	at org.eclipse.sapphire.ui.forms.ContainerPart$Children.visible(ContainerPart.java:213)
	at org.eclipse.sapphire.ui.forms.ContainerPart$1$1.evaluate(ContainerPart.java:78)
	at org.eclipse.sapphire.modeling.el.FunctionResult.refresh(FunctionResult.java:271)
	at org.eclipse.sapphire.modeling.el.FunctionResult.<init>(FunctionResult.java:94)
	at org.eclipse.sapphire.ui.forms.ContainerPart$1$1.<init>(ContainerPart.java:57)
	at org.eclipse.sapphire.ui.forms.ContainerPart$1.evaluate(ContainerPart.java:57)
	at org.eclipse.sapphire.modeling.el.FunctionResult.initOperands(FunctionResult.java:115)
	at org.eclipse.sapphire.modeling.el.FunctionResult.<init>(FunctionResult.java:75)
	at org.eclipse.sapphire.modeling.el.FailSafeFunction$1.<init>(FailSafeFunction.java:91)
	at org.eclipse.sapphire.modeling.el.FailSafeFunction.evaluate(FailSafeFunction.java:91)
	at org.eclipse.sapphire.ui.SapphirePart.initExpression(SapphirePart.java:250)
	at org.eclipse.sapphire.ui.SapphirePart.initExpression(SapphirePart.java:230)
	at org.eclipse.sapphire.ui.SapphirePart.visible(SapphirePart.java:485)
	at org.eclipse.sapphire.ui.forms.ContainerPart$Children.refreshVisibleChildren(ContainerPart.java:231)
	at org.eclipse.sapphire.ui.forms.ContainerPart$Children.visible(ContainerPart.java:213)
	at org.eclipse.sapphire.ui.forms.ContainerPart$1$1.evaluate(ContainerPart.java:78)
	at org.eclipse.sapphire.modeling.el.FunctionResult.refresh(FunctionResult.java:271)
	at org.eclipse.sapphire.modeling.el.FunctionResult.<init>(FunctionResult.java:94)
	at org.eclipse.sapphire.ui.forms.ContainerPart$1$1.<init>(ContainerPart.java:57)
	at org.eclipse.sapphire.ui.forms.ContainerPart$1.evaluate(ContainerPart.java:57)
	at org.eclipse.sapphire.modeling.el.FunctionResult.initOperands(FunctionResult.java:115)
	at org.eclipse.sapphire.modeling.el.FunctionResult.<init>(FunctionResult.java:75)
	at org.eclipse.sapphire.modeling.el.FailSafeFunction$1.<init>(FailSafeFunction.java:91)
	at org.eclipse.sapphire.modeling.el.FailSafeFunction.evaluate(FailSafeFunction.java:91)
	at org.eclipse.sapphire.ui.SapphirePart.initExpression(SapphirePart.java:250)
	at org.eclipse.sapphire.ui.SapphirePart.initExpression(SapphirePart.java:230)
	at org.eclipse.sapphire.ui.SapphirePart.visible(SapphirePart.java:485)
	at org.eclipse.sapphire.ui.forms.ContainerPart$Children.refreshVisibleChildren(ContainerPart.java:231)
	at org.eclipse.sapphire.ui.forms.ContainerPart$Children.visible(ContainerPart.java:213)
	at org.eclipse.sapphire.ui.forms.ContainerPart$1$1.evaluate(ContainerPart.java:78)
	at org.eclipse.sapphire.modeling.el.FunctionResult.refresh(FunctionResult.java:271)
	at org.eclipse.sapphire.modeling.el.FunctionResult.<init>(FunctionResult.java:94)
	at org.eclipse.sapphire.ui.forms.ContainerPart$1$1.<init>(ContainerPart.java:57)
	at org.eclipse.sapphire.ui.forms.ContainerPart$1.evaluate(ContainerPart.java:57)
	at org.eclipse.sapphire.modeling.el.FunctionResult.initOperands(FunctionResult.java:115)
	at org.eclipse.sapphire.modeling.el.FunctionResult.<init>(FunctionResult.java:75)
	at org.eclipse.sapphire.modeling.el.FailSafeFunction$1.<init>(FailSafeFunction.java:91)
	at org.eclipse.sapphire.modeling.el.FailSafeFunction.evaluate(FailSafeFunction.java:91)
	at org.eclipse.sapphire.ui.SapphirePart.initExpression(SapphirePart.java:250)
	at org.eclipse.sapphire.ui.SapphirePart.initExpression(SapphirePart.java:230)
	at org.eclipse.sapphire.ui.SapphirePart.visible(SapphirePart.java:485)
	at org.eclipse.sapphire.ui.forms.MasterDetailsContentNodePart.computeValidation(MasterDetailsContentNodePart.java:689)
	at org.eclipse.sapphire.ui.SapphirePart.refreshValidation(SapphirePart.java:453)
	at org.eclipse.sapphire.ui.forms.MasterDetailsContentNodePart.refreshNodes(MasterDetailsContentNodePart.java:663)
	at org.eclipse.sapphire.ui.forms.MasterDetailsContentNodePart.init(MasterDetailsContentNodePart.java:287)
	at org.eclipse.sapphire.ui.SapphirePart.initialize(SapphirePart.java:206)
	at org.eclipse.sapphire.ui.forms.MasterDetailsContentNodePart.init(MasterDetailsContentNodePart.java:271)
	at org.eclipse.sapphire.ui.SapphirePart.initialize(SapphirePart.java:206)
	at org.eclipse.sapphire.ui.forms.MasterDetailsContentOutline.getRoot(MasterDetailsContentOutline.java:58)
	at org.eclipse.sapphire.ui.forms.MasterDetailsEditorPagePart.init(MasterDetailsEditorPagePart.java:57)
	at org.eclipse.sapphire.ui.SapphirePart.initialize(SapphirePart.java:206)
	at org.eclipse.sapphire.ui.SapphirePart.create(SapphirePart.java:1094)
	at org.eclipse.sapphire.ui.forms.swt.SapphireEditorFormPage.<init>(SapphireEditorFormPage.java:68)
	at org.eclipse.sapphire.ui.forms.swt.MasterDetailsEditorPage.<init>(MasterDetailsEditorPage.java:218)
	at org.eclipse.sapphire.ui.forms.swt.MasterDetailsEditorPage.<init>(MasterDetailsEditorPage.java:210)
	at com.home.myself.mxmleditor.ui.MXMLEditor.createFormPages(MXMLEditor.java:145)
	at org.eclipse.sapphire.ui.SapphireEditor.addPages(SapphireEditor.java:489)
	at org.eclipse.ui.forms.editor.FormEditor.createPages(FormEditor.java:138)
	at org.eclipse.ui.part.MultiPageEditorPart.createPartControl(MultiPageEditorPart.java:348)
	at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:670)
	at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:465)
	at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:595)
	at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:313)
	at org.eclipse.ui.internal.presentations.PresentablePart.setVisible(PresentablePart.java:180)
	at org.eclipse.ui.internal.presentations.util.PresentablePartFolder.select(PresentablePartFolder.java:270)
	at org.eclipse.ui.internal.presentations.util.LeftToRightTabOrder.select(LeftToRightTabOrder.java:65)
	at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation.selectPart(TabbedStackPresentation.java:473)
	at org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:1245)
	at org.eclipse.ui.internal.PartStack.setSelection(PartStack.java:1198)
	at org.eclipse.ui.internal.PartStack.showPart(PartStack.java:1597)
	at org.eclipse.ui.internal.PartStack.add(PartStack.java:493)
	at org.eclipse.ui.internal.EditorStack.add(EditorStack.java:103)
	at org.eclipse.ui.internal.PartStack.add(PartStack.java:479)
	at org.eclipse.ui.internal.EditorStack.add(EditorStack.java:112)
	at org.eclipse.ui.internal.EditorSashContainer.addEditor(EditorSashContainer.java:63)
	at org.eclipse.ui.internal.EditorAreaHelper.addToLayout(EditorAreaHelper.java:225)
	at org.eclipse.ui.internal.EditorAreaHelper.addEditor(EditorAreaHelper.java:213)
	at org.eclipse.ui.internal.EditorManager.createEditorTab(EditorManager.java:808)
	at org.eclipse.ui.internal.EditorManager.openEditorFromDescriptor(EditorManager.java:707)
	at org.eclipse.ui.internal.EditorManager.openEditor(EditorManager.java:666)
	at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2942)
	at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2850)
	at org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPage.java:2842)
	at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:2793)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2789)
	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2773)
	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2756)
	at org.eclipse.ui.ide.IDE.openEditorOnFileStore(IDE.java:1155)
	at org.eclipse.ui.internal.ide.actions.OpenLocalFileAction.run(OpenLocalFileAction.java:107)
	at org.eclipse.ui.internal.ide.actions.OpenLocalFileAction.run(OpenLocalFileAction.java:76)
	at org.eclipse.ui.internal.PluginAction.runWithEvent(PluginAction.java:251)
	at org.eclipse.ui.internal.WWinPluginAction.runWithEvent(WWinPluginAction.java:229)
	at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584)
	at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501)
	at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4165)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3754)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2701)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2665)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2499)
	at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:679)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:668)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at com.home.myself.myapp.plugin.MyApplication.start(MyApplication.java:30)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1386)


Any ideas why this happens to me?

Note: I've tested my Editor vs. all builds starting from #418 till the latest build. All the same!

[Updated on: Wed, 04 December 2013 03:26]

Report message to a moderator

Re: Problem with DefinitionLoader since Sapphire 0.7 Build #418 [message #1219513 is a reply to message #1219488] Wed, 04 December 2013 06:29 Go to previous messageGo to next message
Konstantin Komissarchik is currently offline Konstantin Komissarchik
Messages: 935
Registered: July 2009
Senior Member
Take a look at the very end of the migration guide in the sdef section. There are some additional migration steps you must make.
Re: Problem with DefinitionLoader since Sapphire 0.7 Build #418 [message #1219516 is a reply to message #1219513] Wed, 04 December 2013 06:38 Go to previous messageGo to next message
Hazem ELRAFFIEE is currently offline Hazem ELRAFFIEE
Messages: 59
Registered: September 2012
Member
I don't have at my SDEF any section saying:
<hint>
    <name>prefer.form.style</name>
    <value>true</value>
</hint>


so I can replace it with:

<background-color>white</background-color>
Re: Problem with DefinitionLoader since Sapphire 0.7 Build #418 [message #1219556 is a reply to message #1219516] Wed, 04 December 2013 10:47 Go to previous messageGo to next message
Konstantin Komissarchik is currently offline Konstantin Komissarchik
Messages: 935
Registered: July 2009
Senior Member
Take a look at the entire sdef section of the migration guide. The exception tells me that you need to apply migration related to with constructs, but other migrations may need to be applied as well.
Re: Problem with DefinitionLoader since Sapphire 0.7 Build #418 [message #1219654 is a reply to message #1219556] Thu, 05 December 2013 04:08 Go to previous messageGo to next message
Hazem ELRAFFIEE is currently offline Hazem ELRAFFIEE
Messages: 59
Registered: September 2012
Member
I don't have neither "<switching-panel>" nor "<if>" nor "<hint><name>prefer.form.style</name><value>true</value></hint>".

The more confusing, is that I replaced my complex Editor file, with a simple SapphireEditorForXml, and the problem remained!! So it's not that my editor is anyway special. There's something that has to be migrated and I can't find it. Would you provide me with a "link" to the migration guide you're talking about? May be I'm looking at the wrong guide Smile
Re: Problem with DefinitionLoader since Sapphire 0.7 Build #418 [message #1219660 is a reply to message #1219654] Thu, 05 December 2013 05:28 Go to previous messageGo to next message
Hazem ELRAFFIEE is currently offline Hazem ELRAFFIEE
Messages: 59
Registered: September 2012
Member
Here's a complete unique sorted list of all XML Tags inside my SDEF file. Is there any of them that needs to be migrated?

<action-handler>
<action-id>
<action>
<actuator>
<block>
<case>
<child-property>
<collapsed-initially>
<collapsible>
<composite>
<content>
<context>
<default-panel>
<definition>
<description>
<editor-page>
<element-type>
<group>
<height>
<hint>
<horizontal-align>
<id>
<image>
<impl>
<import>
<include>
<key-binding-behavior>
<key-binding>
<label>
<location>
<name>
<node-factory>
<node>
<package>
<page-header-text>
<path>
<property-editor>
<property>
<related-content-width>
<related-content>
<root-node>
<scale-vertically>
<section>
<show-image>
<show-label>
<size>
<spacer>
<span>
<split-form>
<style>
<tooltip>
<value>
<width>
<with>

[Updated on: Thu, 05 December 2013 05:29]

Report message to a moderator

Re: Problem with DefinitionLoader since Sapphire 0.7 Build #418 [message #1219746 is a reply to message #1219660] Thu, 05 December 2013 10:48 Go to previous messageGo to next message
Konstantin Komissarchik is currently offline Konstantin Komissarchik
Messages: 935
Registered: July 2009
Senior Member
Take a look at your "with" constructs. You still have "default-panel" among your tags, which tells me you haven't applied the migration for these constructs. The migration guide is in your Eclipse help content once you install Sapphire SDK.
Re: Problem with DefinitionLoader since Sapphire 0.7 Build #418 [message #1220036 is a reply to message #1219746] Mon, 09 December 2013 04:17 Go to previous message
Hazem ELRAFFIEE is currently offline Hazem ELRAFFIEE
Messages: 59
Registered: September 2012
Member
Exactly that was it .. by simply replacing "default-panel" with "case", it worked.

I didn't know that Sapphire was there in the Help Contents. That will help me a lot later.

Thank you Smile
Previous Topic:What is the difference between "@DependsOn" and "FilteredListener<PropertyContentE
Next Topic:Sapphire 0.7 RC1
Goto Forum:
  


Current Time: Thu Jul 24 09:10:22 EDT 2014

Powered by FUDForum. Page generated in 0.02673 seconds