Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » EMF "Technology" (Ecore Tools, EMFatic, etc)  » [EMFForms] TableControl detail view properties not resolving(TableControl detail view properties not resolving)
[EMFForms] TableControl detail view properties not resolving [message #1741712] Sun, 28 August 2016 11:34 Go to next message
Bill Kinahan is currently offline Bill KinahanFriend
Messages: 5
Registered: August 2016
Junior Member
I'm attempting to create a form which includes a table with the detail of each row to be edited via a panel (WithPanel; option). I use the button to create and link the child detail view, and then use the wizard to add the controls to the view. I am unable to preview the form because it seems that EMFForms is looking for the property to be an attribute of the parent EClass, not the one that is composed in. Here is a copy of one of the items in the error log. My parent EClass is called Entity. Entity has a containment reference called composition which is of type Composition. Composition has an EAttribute called roleName.


eclipse.buildId=4.6.0.I20160606-1100
java.version=1.8.0_101
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
Framework arguments: -product org.eclipse.epp.package.modeling.product
Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.modeling.product

org.eclipse.emf.ecp.view.model
Warning
Sun Aug 28 07:26:36 EDT 2016
Databinding not possible due to: The resolved Object Entity doesn't contain the feature rolename..

org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException: The resolved Object Entity doesn't contain the feature rolename.
at org.eclipse.emfforms.core.services.databinding.featurepath.FeaturePathDomainModelReferenceConverter.getSetting(FeaturePathDomainModelReferenceConverter.java:175)
at org.eclipse.emfforms.internal.core.services.databinding.EMFFormsDatabindingImpl.getSetting(EMFFormsDatabindingImpl.java:249)
at org.eclipse.emfforms.internal.core.services.mappingprovider.defaultheuristic.EMFFormsMappingProviderDefaultHeuristic.getMappingFor(EMFFormsMappingProviderDefaultHeuristic.java:76)
at org.eclipse.emfforms.internal.core.services.mappingprovider.EMFFormsMappingProviderManagerImpl.getAllSettingsFor(EMFFormsMappingProviderManagerImpl.java:92)
at org.eclipse.emf.ecp.view.internal.validation.ValidationServiceImpl$ViewModelChangeListener.notifyAdd(ValidationServiceImpl.java:156)
at org.eclipse.emf.ecp.view.internal.context.ViewModelContextImpl$ViewModelContentAdapter.addAdapter(ViewModelContextImpl.java:620)
at org.eclipse.emf.ecore.util.EContentAdapter.setTarget(EContentAdapter.java:226)
at org.eclipse.emf.ecore.util.EContentAdapter.setTarget(EContentAdapter.java:189)
at org.eclipse.emf.common.notify.impl.BasicNotifierImpl$EAdapterList.didAdd(BasicNotifierImpl.java:121)
at org.eclipse.emf.common.util.BasicEList.addUnique(BasicEList.java:418)
at org.eclipse.emf.common.util.AbstractEList.add(AbstractEList.java:303)
at org.eclipse.emf.common.notify.impl.BasicNotifierImpl$EAdapterList.add(BasicNotifierImpl.java:193)
at org.eclipse.emf.ecore.util.EContentAdapter.addAdapter(EContentAdapter.java:356)
at org.eclipse.emf.ecp.view.internal.context.ViewModelContextImpl$ViewModelContentAdapter.addAdapter(ViewModelContextImpl.java:613)
at org.eclipse.emf.ecore.util.EContentAdapter.setTarget(EContentAdapter.java:226)
at org.eclipse.emf.ecore.util.EContentAdapter.setTarget(EContentAdapter.java:189)
at org.eclipse.emf.common.notify.impl.BasicNotifierImpl$EAdapterList.didAdd(BasicNotifierImpl.java:121)
at org.eclipse.emf.common.util.BasicEList.addUnique(BasicEList.java:418)
at org.eclipse.emf.common.util.AbstractEList.add(AbstractEList.java:303)
at org.eclipse.emf.common.notify.impl.BasicNotifierImpl$EAdapterList.add(BasicNotifierImpl.java:193)
at org.eclipse.emf.ecore.util.EContentAdapter.addAdapter(EContentAdapter.java:356)
at org.eclipse.emf.ecp.view.internal.context.ViewModelContextImpl$ViewModelContentAdapter.addAdapter(ViewModelContextImpl.java:613)
at org.eclipse.emf.ecore.util.EContentAdapter.setTarget(EContentAdapter.java:226)
at org.eclipse.emf.ecore.util.EContentAdapter.setTarget(EContentAdapter.java:189)
at org.eclipse.emf.common.notify.impl.BasicNotifierImpl$EAdapterList.didAdd(BasicNotifierImpl.java:121)
at org.eclipse.emf.common.util.BasicEList.addUnique(BasicEList.java:418)
at org.eclipse.emf.common.util.AbstractEList.add(AbstractEList.java:303)
at org.eclipse.emf.common.notify.impl.BasicNotifierImpl$EAdapterList.add(BasicNotifierImpl.java:193)
at org.eclipse.emf.ecore.util.EContentAdapter.addAdapter(EContentAdapter.java:356)
at org.eclipse.emf.ecp.view.internal.context.ViewModelContextImpl$ViewModelContentAdapter.addAdapter(ViewModelContextImpl.java:613)
at org.eclipse.emf.ecore.util.EContentAdapter.setTarget(EContentAdapter.java:226)
at org.eclipse.emf.ecore.util.EContentAdapter.setTarget(EContentAdapter.java:189)
at org.eclipse.emf.common.notify.impl.BasicNotifierImpl$EAdapterList.didAdd(BasicNotifierImpl.java:121)
at org.eclipse.emf.common.util.BasicEList.addUnique(BasicEList.java:418)
at org.eclipse.emf.common.util.AbstractEList.add(AbstractEList.java:303)
at org.eclipse.emf.common.notify.impl.BasicNotifierImpl$EAdapterList.add(BasicNotifierImpl.java:193)
at org.eclipse.emf.ecp.view.internal.context.ViewModelContextImpl.instantiate(ViewModelContextImpl.java:274)
at org.eclipse.emf.ecp.view.internal.context.ViewModelContextImpl.<init>(ViewModelContextImpl.java:198)
at org.eclipse.emf.ecp.view.spi.context.ViewModelContextFactory.createViewModelContext(ViewModelContextFactory.java:55)
at org.eclipse.emf.ecp.view.model.preview.common.Preview.internalRender(Preview.java:159)
at org.eclipse.emf.ecp.view.model.preview.common.Preview.render(Preview.java:87)
at org.eclipse.emf.ecp.view.model.internal.preview.e3.views.PreviewView.render(PreviewView.java:666)
at org.eclipse.emf.ecp.view.model.internal.preview.e3.views.PreviewView.createPartControl(PreviewView.java:298)
at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.createPartControl(CompatibilityPart.java:151)
at org.eclipse.ui.internal.e4.compatibility.CompatibilityView.createPartControl(CompatibilityView.java:143)
at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.create(CompatibilityPart.java:341)
at sun.reflect.GeneratedMethodAccessor80.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:54)
at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:966)
at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:931)
at org.eclipse.e4.core.internal.di.InjectorImpl.inject(InjectorImpl.java:151)
at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:375)
at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:294)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:162)
at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.createFromBundle(ReflectionContributionFactory.java:105)
at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.doCreate(ReflectionContributionFactory.java:74)
at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.create(ReflectionContributionFactory.java:56)
at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer.createWidget(ContributedPartRenderer.java:129)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createWidget(PartRenderingEngine.java:975)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:651)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$1.run(PartRenderingEngine.java:536)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:520)
at org.eclipse.e4.ui.workbench.renderers.swt.ElementReferenceRenderer.createWidget(ElementReferenceRenderer.java:70)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createWidget(PartRenderingEngine.java:975)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:651)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:757)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$0(PartRenderingEngine.java:728)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:722)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:706)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.subscribeTopicToBeRendered(PartRenderingEngine.java:149)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:54)
at org.eclipse.e4.core.di.internal.extensions.EventObjectSupplier$DIEventHandler.handleEvent(EventObjectSupplier.java:80)
at org.eclipse.equinox.internal.event.EventHandlerWrapper.handleEvent(EventHandlerWrapper.java:201)
at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:197)
at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:1)
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
at org.eclipse.equinox.internal.event.EventAdminImpl.dispatchEvent(EventAdminImpl.java:135)
at org.eclipse.equinox.internal.event.EventAdminImpl.sendEvent(EventAdminImpl.java:78)
at org.eclipse.equinox.internal.event.EventComponent.sendEvent(EventComponent.java:39)
at org.eclipse.e4.ui.services.internal.events.EventBroker.send(EventBroker.java:94)
at org.eclipse.e4.ui.internal.workbench.UIEventPublisher.notifyChanged(UIEventPublisher.java:60)
at org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:374)
at org.eclipse.e4.ui.model.application.ui.impl.UIElementImpl.setToBeRendered(UIElementImpl.java:303)
at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.createElement(PartServiceImpl.java:1237)
at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.showPart(PartServiceImpl.java:1218)
at org.eclipse.ui.internal.WorkbenchPage.showPart(WorkbenchPage.java:1302)
at org.eclipse.ui.internal.WorkbenchPage.busyShowView(WorkbenchPage.java:1274)
at org.eclipse.ui.internal.WorkbenchPage$12.run(WorkbenchPage.java:4316)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.ui.internal.WorkbenchPage.showView(WorkbenchPage.java:4312)
at org.eclipse.emf.ecp.view.model.internal.preview.actions.OpenPreviewHandler.execute(OpenPreviewHandler.java:63)
at org.eclipse.emf.ecp.view.spi.treemasterdetail.ui.swt.TreeMasterDetailSWTRenderer$4.run(TreeMasterDetailSWTRenderer.java:661)
at org.eclipse.jface.action.Action.runWithEvent(Action.java:473)
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:565)
at org.eclipse.jface.action.ActionContributionItem.lambda$5(ActionContributionItem.java:436)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5219)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1340)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4553)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4143)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1121)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1022)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:150)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:687)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:604)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:138)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:673)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:610)
at org.eclipse.equinox.launcher.Main.run(Main.java:1519)
at org.eclipse.equinox.launcher.Main.main(Main.java:1492)



Any recommendations on how to address this?

Kind regards,

Bill
Re: [EMFForms] TableControl detail view properties not resolving [message #1741761 is a reply to message #1741712] Mon, 29 August 2016 09:54 Go to previous message
Eugen Neufeld is currently offline Eugen NeufeldFriend
Messages: 174
Registered: May 2015
Senior Member
Hi Bill,
I tested this with the EMFForms 1.10 RC1 and it works, but an error is logged.

Nonetheless I would suggest to create a second view for the composition element and configure how it should look like and remove the detail view from the table control.
EMFForms will the pickup the registered view during runtime and render it as the detail view of the table. The only think that does not work correct then is the preview as it will show a generated view in the detail pane.

Cheers,
Eugen


--
Eugen Neufeld

Get professional Eclipse developer support:
http://eclipsesource.com/en/services/developer-support/
Previous Topic:Disable selection on certain objects in Ecore editor
Next Topic:[EMFForms]Trouble with Table Control domain model reference
Goto Forum:
  


Current Time: Sat Sep 21 21:29:23 GMT 2024

Powered by FUDForum. Page generated in 0.03545 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top