Wrong class resolution during bind with elementName [message #841004] |
Tue, 10 April 2012 19:42  |
Eclipse User |
|
|
|
Hi all,
I am trying to do some simple binding tests and even though I've been able to do what I wanted when I switched back to design view on WindowBuilder it can't parse the XWT file anymore complaining that the property I am binding was not found on Composite class instead of looking up on the class I specified on x:Class parameter.
Stacktrace is as follows:
org.eclipse.e4.xwt.XWTException: Property "directories" is not found in the class org.eclipse.swt.widgets.Composite
at org.eclipse.e4.xwt.dataproviders.ObjectDataProvider$1.toModelPropertyType(ObjectDataProvider.java:53)
at org.eclipse.e4.xwt.internal.core.ScopeManager$ObservableValueBuilder.observe(ScopeManager.java:194)
at org.eclipse.e4.xwt.internal.core.ScopeManager.observe(ScopeManager.java:434)
at org.eclipse.e4.xwt.databinding.DataBinding.getObservableSource(DataBinding.java:155)
at org.eclipse.e4.xwt.databinding.DataBinding.getObservableWidget(DataBinding.java:174)
at org.eclipse.e4.xwt.databinding.DataBinding.getValue(DataBinding.java:56)
at org.eclipse.e4.xwt.internal.core.Binding.getValue(Binding.java:241)
at org.eclipse.e4.xwt.converters.BindingToObject.convert(BindingToObject.java:26)
at org.eclipse.e4.xwt.javabean.ResourceLoader.initSegmentAttribute(ResourceLoader.java:1619)
at org.eclipse.e4.xwt.javabean.ResourceLoader.initAttribute(ResourceLoader.java:1414)
at org.eclipse.e4.xwt.javabean.ResourceLoader.doCreate(ResourceLoader.java:676)
at org.eclipse.wb.internal.xwt.parser.XwtRenderer$5$1.doCreate(XwtRenderer.java:240)
at org.eclipse.e4.xwt.javabean.ResourceLoader.doCreate(ResourceLoader.java:670)
at org.eclipse.wb.internal.xwt.parser.XwtRenderer$5$1.doCreate(XwtRenderer.java:240)
at org.eclipse.e4.xwt.javabean.ResourceLoader.doCreate(ResourceLoader.java:467)
at org.eclipse.wb.internal.xwt.parser.XwtRenderer$5$1.doCreate(XwtRenderer.java:240)
at org.eclipse.e4.xwt.javabean.ResourceLoader.createCLRElement(ResourceLoader.java:371)
at org.eclipse.e4.xwt.internal.core.Core.createCLRElement(Core.java:617)
at org.eclipse.e4.xwt.internal.core.Core.load(Core.java:674)
at org.eclipse.e4.xwt.XWTLoader.loadWithOptions(XWTLoader.java:864)
at org.eclipse.e4.xwt.XWT.loadWithOptions(XWT.java:486)
at org.eclipse.wb.internal.xwt.parser.XwtRenderer.render(XwtRenderer.java:261)
at org.eclipse.wb.internal.xwt.model.widgets.ControlInfo.refresh_create(ControlInfo.java:94)
at org.eclipse.wb.core.model.ObjectInfo.refreshCreate0(ObjectInfo.java:550)
at org.eclipse.wb.core.model.ObjectInfo.access$0(ObjectInfo.java:546)
at org.eclipse.wb.core.model.ObjectInfo$5$1.run(ObjectInfo.java:486)
at org.eclipse.wb.internal.core.utils.execution.ExecutionUtils.runDesignTime(ExecutionUtils.java:139)
at org.eclipse.wb.core.model.ObjectInfo$5.run(ObjectInfo.java:484)
at org.eclipse.wb.core.model.ObjectInfo.execRefreshOperation(ObjectInfo.java:514)
at org.eclipse.wb.core.model.ObjectInfo.refresh(ObjectInfo.java:482)
at org.eclipse.wb.internal.core.xml.editor.XmlDesignPage.internal_refreshGEF(XmlDesignPage.java:459)
at org.eclipse.wb.internal.core.xml.editor.XmlDesignPage.internal_refreshGEF(XmlDesignPage.java:390)
at org.eclipse.wb.internal.core.xml.editor.UndoManager.refreshDesignerEditor(UndoManager.java:252)
at org.eclipse.wb.internal.core.xml.editor.XmlDesignPage.updateGEF(XmlDesignPage.java:361)
at org.eclipse.wb.internal.core.xml.editor.XmlDesignPage.refreshGEF(XmlDesignPage.java:354)
at org.eclipse.wb.internal.core.xml.editor.actions.RefreshAction.run(RefreshAction.java:47)
at org.eclipse.wb.internal.core.xml.editor.actions.DesignPageAction.run(DesignPageAction.java:35)
at org.eclipse.wb.internal.core.xml.editor.XmlExceptionComposite.doRefresh(XmlExceptionComposite.java:65)
at org.eclipse.wb.internal.core.editor.errors.ExceptionComposite$3.widgetSelected(ExceptionComposite.java:129)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:240)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1258)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3588)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3209)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2696)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2660)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494)
at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)
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:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
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)
|
|
|
Re: Wrong class resolution during bind with elementName [message #841007 is a reply to message #841004] |
Tue, 10 April 2012 19:46   |
Eclipse User |
|
|
|
I guess I forgot to provide the code in question:
<Composite xmlns="eclipse.org/xwt/presentation" name="root"
xmlns:x="eclipse.org/xwt"
x:Class="br.rar.dups.SetupAnalysisComposite"
xmlns:f="clr-namespace:org.eclipse.e4.xwt.jface" xmlns:v="clr-namespace:org.eclipse.jface.viewers"
loaded="onLoad">
<Composite.layout>
<GridLayout numColumns="3"/>
</Composite.layout>
<ListViewer x:Style="BORDER | V_SCROLL" x:name="listViewer" input="{Binding elementName=root, path=directories, updateSourceTrigger=PropertyChanged}">
<ListViewer.list>
<ListViewer.list.layoutData>
<GridData grabExcessHorizontalSpace="true" grabExcessVerticalSpace="true" verticalAlignment="FILL" horizontalAlignment="FILL" horizontalSpan="3"/>
</ListViewer.list.layoutData>
<ListViewer.labelProvider>
<v:LabelProvider/>
</ListViewer.labelProvider>
<ListViewer.contentProvider>
<f:DefaultListContentProvider/>
</ListViewer.contentProvider>
</ListViewer.list>
</ListViewer>
</Composite>
package br.rar.dups;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import org.eclipse.e4.xwt.IConstants;
import org.eclipse.e4.xwt.XWT;
import org.eclipse.jface.viewers.ListViewer;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Event;
public class SetupAnalysisComposite extends Composite {
private List<String> directories = new ArrayList<String>();
private ListViewer listViewer;
public SetupAnalysisComposite(Composite parent, int style) {
super(parent, style);
setLayout(new FillLayout());
}
public List<String> getDirectories() {
return directories;
}
public void InitializeComponent() {
listViewer = (ListViewer) XWT.findElementByName(this, "listViewer");
}
public void onLoad(SetupAnalysisComposite composite, Event event) {
System.out.println("AAA");
System.out.println(composite);
System.out.println(event);
}
public void onSelection(Event event) {
directories.add("teste");
System.out.println(directories);
listViewer.refresh();
}
public void onSelection_1(Event event) {
System.out.println("ok");
}
public static void main(String[] args) {
URL url = SetupAnalysisComposite.class.getResource(SetupAnalysisComposite.class
.getSimpleName()
+ IConstants.XWT_EXTENSION_SUFFIX);
try {
XWT.open(url);
} catch (Exception e) {
e.printStackTrace();
}
}
}
|
|
|
Re: Wrong class resolution during bind with elementName [message #842901 is a reply to message #841007] |
Thu, 12 April 2012 18:17   |
Eclipse User |
|
|
|
I am trying to figure out where the problem might be and I suspect that the following code on DataBindingParser is the responsible:
String path = attributes.get("path");
String elementName = attributes.get("elementname");
//
if (elementName != null) {
WidgetBindableInfo model = m_widgetContainer.resolve(elementName);
since this resolves only widget elements... not bean classes...
but... I could not figure out how I could lookup the class defined on x:Class parameter...
I also tested the selfdecorated sample and it fails as well...
[Updated on: Thu, 12 April 2012 18:19] by Moderator Report message to a moderator
|
|
|
Re: Wrong class resolution during bind with elementName [message #842906 is a reply to message #842901] |
Thu, 12 April 2012 18:20   |
Eclipse User |
|
|
|
I am trying to figure out where the problem might be and I suspect that the following code on DataBindingParser is the responsible:
String path = attributes.get("path");
String elementName = attributes.get("elementname");
//
if (elementName != null) {
WidgetBindableInfo model = m_widgetContainer.resolve(elementName);
since this resolves only widget elements... not bean classes...
but... I could not figure out how I could lookup the class defined on x:Class parameter...
I also tested the selfdecorated sample and it fails as well...
|
|
|
Re: Wrong class resolution during bind with elementName [message #842908 is a reply to message #841004] |
Thu, 12 April 2012 18:21   |
Eclipse User |
|
|
|
I am trying to figure out where the problem might be and I suspect that the following code on DataBindingParser is the responsible:
String path = attributes.get("path");
String elementName = attributes.get("elementname");
//
if (elementName != null) {
WidgetBindableInfo model = m_widgetContainer.resolve(elementName);
since this resolves only widget elements... not bean classes...
but... I could not figure out how I could lookup the class defined on x:Class parameter...
I also tested the selfdecorated sample and it fails as well...
|
|
|
|
|
Re: Wrong class resolution during bind with elementName [message #842919 is a reply to message #842910] |
Thu, 12 April 2012 18:20   |
Eclipse User |
|
|
|
I am trying to figure out where the problem might be and I suspect that the following code on DataBindingParser is the responsible:
String path = attributes.get("path");
String elementName = attributes.get("elementname");
//
if (elementName != null) {
WidgetBindableInfo model = m_widgetContainer.resolve(elementName);
since this resolves only widget elements... not bean classes...
but... I could not figure out how I could lookup the class defined on x:Class parameter...
I also tested the selfdecorated sample and it fails as well...
|
|
|
Re: Wrong class resolution during bind with elementName [message #842920 is a reply to message #841004] |
Thu, 12 April 2012 18:21   |
Eclipse User |
|
|
|
I am trying to figure out where the problem might be and I suspect that the following code on DataBindingParser is the responsible:
String path = attributes.get("path");
String elementName = attributes.get("elementname");
//
if (elementName != null) {
WidgetBindableInfo model = m_widgetContainer.resolve(elementName);
since this resolves only widget elements... not bean classes...
but... I could not figure out how I could lookup the class defined on x:Class parameter...
I also tested the selfdecorated sample and it fails as well...
|
|
|
|
Re: Wrong class resolution during bind with elementName [message #842932 is a reply to message #842910] |
Thu, 12 April 2012 18:20   |
Eclipse User |
|
|
|
I am trying to figure out where the problem might be and I suspect that the following code on DataBindingParser is the responsible:
String path = attributes.get("path");
String elementName = attributes.get("elementname");
//
if (elementName != null) {
WidgetBindableInfo model = m_widgetContainer.resolve(elementName);
since this resolves only widget elements... not bean classes...
but... I could not figure out how I could lookup the class defined on x:Class parameter...
I also tested the selfdecorated sample and it fails as well...
|
|
|
Re: Wrong class resolution during bind with elementName [message #842933 is a reply to message #841004] |
Thu, 12 April 2012 18:21   |
Eclipse User |
|
|
|
I am trying to figure out where the problem might be and I suspect that the following code on DataBindingParser is the responsible:
String path = attributes.get("path");
String elementName = attributes.get("elementname");
//
if (elementName != null) {
WidgetBindableInfo model = m_widgetContainer.resolve(elementName);
since this resolves only widget elements... not bean classes...
but... I could not figure out how I could lookup the class defined on x:Class parameter...
I also tested the selfdecorated sample and it fails as well...
|
|
|
|
Re: Wrong class resolution during bind with elementName [message #842945 is a reply to message #842910] |
Thu, 12 April 2012 18:20   |
Eclipse User |
|
|
|
I am trying to figure out where the problem might be and I suspect that the following code on DataBindingParser is the responsible:
String path = attributes.get("path");
String elementName = attributes.get("elementname");
//
if (elementName != null) {
WidgetBindableInfo model = m_widgetContainer.resolve(elementName);
since this resolves only widget elements... not bean classes...
but... I could not figure out how I could lookup the class defined on x:Class parameter...
I also tested the selfdecorated sample and it fails as well...
|
|
|
Re: Wrong class resolution during bind with elementName [message #842946 is a reply to message #841004] |
Thu, 12 April 2012 18:21   |
Eclipse User |
|
|
|
I am trying to figure out where the problem might be and I suspect that the following code on DataBindingParser is the responsible:
String path = attributes.get("path");
String elementName = attributes.get("elementname");
//
if (elementName != null) {
WidgetBindableInfo model = m_widgetContainer.resolve(elementName);
since this resolves only widget elements... not bean classes...
but... I could not figure out how I could lookup the class defined on x:Class parameter...
I also tested the selfdecorated sample and it fails as well...
|
|
|
|
Re: Wrong class resolution during bind with elementName [message #842961 is a reply to message #842910] |
Thu, 12 April 2012 18:20   |
Eclipse User |
|
|
|
I am trying to figure out where the problem might be and I suspect that the following code on DataBindingParser is the responsible:
String path = attributes.get("path");
String elementName = attributes.get("elementname");
//
if (elementName != null) {
WidgetBindableInfo model = m_widgetContainer.resolve(elementName);
since this resolves only widget elements... not bean classes...
but... I could not figure out how I could lookup the class defined on x:Class parameter...
I also tested the selfdecorated sample and it fails as well...
|
|
|
Re: Wrong class resolution during bind with elementName [message #842962 is a reply to message #841004] |
Thu, 12 April 2012 18:21   |
Eclipse User |
|
|
|
I am trying to figure out where the problem might be and I suspect that the following code on DataBindingParser is the responsible:
String path = attributes.get("path");
String elementName = attributes.get("elementname");
//
if (elementName != null) {
WidgetBindableInfo model = m_widgetContainer.resolve(elementName);
since this resolves only widget elements... not bean classes...
but... I could not figure out how I could lookup the class defined on x:Class parameter...
I also tested the selfdecorated sample and it fails as well...
|
|
|
|
Re: Wrong class resolution during bind with elementName [message #842977 is a reply to message #842910] |
Thu, 12 April 2012 18:20   |
Eclipse User |
|
|
|
I am trying to figure out where the problem might be and I suspect that the following code on DataBindingParser is the responsible:
String path = attributes.get("path");
String elementName = attributes.get("elementname");
//
if (elementName != null) {
WidgetBindableInfo model = m_widgetContainer.resolve(elementName);
since this resolves only widget elements... not bean classes...
but... I could not figure out how I could lookup the class defined on x:Class parameter...
I also tested the selfdecorated sample and it fails as well...
|
|
|
Re: Wrong class resolution during bind with elementName [message #842978 is a reply to message #841004] |
Thu, 12 April 2012 18:21   |
Eclipse User |
|
|
|
I am trying to figure out where the problem might be and I suspect that the following code on DataBindingParser is the responsible:
String path = attributes.get("path");
String elementName = attributes.get("elementname");
//
if (elementName != null) {
WidgetBindableInfo model = m_widgetContainer.resolve(elementName);
since this resolves only widget elements... not bean classes...
but... I could not figure out how I could lookup the class defined on x:Class parameter...
I also tested the selfdecorated sample and it fails as well...
|
|
|
|
Re: Wrong class resolution during bind with elementName [message #842997 is a reply to message #842910] |
Thu, 12 April 2012 18:20   |
Eclipse User |
|
|
|
I am trying to figure out where the problem might be and I suspect that the following code on DataBindingParser is the responsible:
String path = attributes.get("path");
String elementName = attributes.get("elementname");
//
if (elementName != null) {
WidgetBindableInfo model = m_widgetContainer.resolve(elementName);
since this resolves only widget elements... not bean classes...
but... I could not figure out how I could lookup the class defined on x:Class parameter...
I also tested the selfdecorated sample and it fails as well...
|
|
|
Re: Wrong class resolution during bind with elementName [message #842998 is a reply to message #841004] |
Thu, 12 April 2012 18:21   |
Eclipse User |
|
|
|
I am trying to figure out where the problem might be and I suspect that the following code on DataBindingParser is the responsible:
String path = attributes.get("path");
String elementName = attributes.get("elementname");
//
if (elementName != null) {
WidgetBindableInfo model = m_widgetContainer.resolve(elementName);
since this resolves only widget elements... not bean classes...
but... I could not figure out how I could lookup the class defined on x:Class parameter...
I also tested the selfdecorated sample and it fails as well...
|
|
|
|
Re: Wrong class resolution during bind with elementName [message #843017 is a reply to message #842910] |
Thu, 12 April 2012 18:20   |
Eclipse User |
|
|
|
I am trying to figure out where the problem might be and I suspect that the following code on DataBindingParser is the responsible:
String path = attributes.get("path");
String elementName = attributes.get("elementname");
//
if (elementName != null) {
WidgetBindableInfo model = m_widgetContainer.resolve(elementName);
since this resolves only widget elements... not bean classes...
but... I could not figure out how I could lookup the class defined on x:Class parameter...
I also tested the selfdecorated sample and it fails as well...
|
|
|
Re: Wrong class resolution during bind with elementName [message #843018 is a reply to message #841004] |
Thu, 12 April 2012 18:21   |
Eclipse User |
|
|
|
I am trying to figure out where the problem might be and I suspect that the following code on DataBindingParser is the responsible:
String path = attributes.get("path");
String elementName = attributes.get("elementname");
//
if (elementName != null) {
WidgetBindableInfo model = m_widgetContainer.resolve(elementName);
since this resolves only widget elements... not bean classes...
but... I could not figure out how I could lookup the class defined on x:Class parameter...
I also tested the selfdecorated sample and it fails as well...
|
|
|
|
Re: Wrong class resolution during bind with elementName [message #843041 is a reply to message #843040] |
Thu, 12 April 2012 18:20   |
Eclipse User |
|
|
|
I am trying to figure out where the problem might be and I suspect that the following code on DataBindingParser is the responsible:
String path = attributes.get("path");
String elementName = attributes.get("elementname");
//
if (elementName != null) {
WidgetBindableInfo model = m_widgetContainer.resolve(elementName);
since this resolves only widget elements... not bean classes...
but... I could not figure out how I could lookup the class defined on x:Class parameter...
I also tested the selfdecorated sample and it fails as well...
|
|
|
Re: Wrong class resolution during bind with elementName [message #843042 is a reply to message #841004] |
Thu, 12 April 2012 18:21   |
Eclipse User |
|
|
|
I am trying to figure out where the problem might be and I suspect that the following code on DataBindingParser is the responsible:
String path = attributes.get("path");
String elementName = attributes.get("elementname");
//
if (elementName != null) {
WidgetBindableInfo model = m_widgetContainer.resolve(elementName);
since this resolves only widget elements... not bean classes...
but... I could not figure out how I could lookup the class defined on x:Class parameter...
I also tested the selfdecorated sample and it fails as well...
|
|
|
|
Re: Wrong class resolution during bind with elementName [message #843072 is a reply to message #843071] |
Thu, 12 April 2012 18:20   |
Eclipse User |
|
|
|
I am trying to figure out where the problem might be and I suspect that the following code on DataBindingParser is the responsible:
String path = attributes.get("path");
String elementName = attributes.get("elementname");
//
if (elementName != null) {
WidgetBindableInfo model = m_widgetContainer.resolve(elementName);
since this resolves only widget elements... not bean classes...
but... I could not figure out how I could lookup the class defined on x:Class parameter...
I also tested the selfdecorated sample and it fails as well...
|
|
|
Re: Wrong class resolution during bind with elementName [message #843073 is a reply to message #841004] |
Thu, 12 April 2012 18:21   |
Eclipse User |
|
|
|
I am trying to figure out where the problem might be and I suspect that the following code on DataBindingParser is the responsible:
String path = attributes.get("path");
String elementName = attributes.get("elementname");
//
if (elementName != null) {
WidgetBindableInfo model = m_widgetContainer.resolve(elementName);
since this resolves only widget elements... not bean classes...
but... I could not figure out how I could lookup the class defined on x:Class parameter...
I also tested the selfdecorated sample and it fails as well...
|
|
|
|
Powered by
FUDForum. Page generated in 0.39655 seconds