Error with Chart Fields [message #1823631] |
Mon, 30 March 2020 10:14  |
Eclipse User |
|
|
|
Hello,
I am working with chart field and I am facing a problem with the sample in the widget site, the issue is about the instanciation of the
IDataObjectMapper
the pom file is updated in the client to include the
org.eclipse.scout.rt.dataobject
I tryied creating an interface that extend the IDataObjectMapper and create a class in the server that implemented the class but the same error occurs
in the IChartField Interface in the sample.
Any idea ?
Kind Regards
|
|
|
|
Re: Error with Chart Fields [message #1823642 is a reply to message #1823634] |
Mon, 30 March 2020 11:42   |
Eclipse User |
|
|
|
Hello,
Here it is :
static ChartConfigDo readChartConfig(InputStream is) {
Assertions.assertNotNull(is);
IDataObjectMapper customDataObjectMapper = BEANS.get(IDataObjectMapper.class);
return customDataObjectMapper.readValue(is, ChartConfigDo.class);
}
The error stacj is ***
Quote:
-03-30 17:38:43,624 ERROR [scout-model-thread-25 Processing JSON request] org.eclipse.scout.rt.platform.exception.ExceptionHandler.handlePlatformException(ExceptionHandler.java:124) - - MDC[principal=emira, uiSession=1:8ffac0nn5ldv752vop85k8qj4qu76ag9q46sueqi22etclvng3l, scoutSession=1ddnvver8gi27atgtnmks910sp9uounb6jnl2pq2mds2ajteo99g, jobName=Processing JSON request, cid=DS2MU5FT3WD/3]
org.eclipse.scout.rt.platform.util.Assertions$AssertionException: Assertion error: no instance found for query: interface org.eclipse.scout.rt.dataobject.IDataObjectMapper [user=anis, innerClass=class com.anis.recovery.app.recovery.customers.CustomerForm$MainBox$ContainerBox$CustomerDetailBox$CustomerBillsField, innerClass=class com.anis.recovery.app.recovery.customers.CustomerForm$MainBox$ContainerBox$CustomerDetailBox, innerClass=class com.anis.recovery.app.recovery.customers.CustomerForm$MainBox$ContainerBox, innerClass=class com.anis.recovery.app.recovery.customers.CustomerForm$MainBox]
at org.eclipse.scout.rt.platform.util.Assertions.fail(Assertions.java:629)
at org.eclipse.scout.rt.platform.util.Assertions.assertNotNull(Assertions.java:87)
at org.eclipse.scout.rt.platform.BEANS.get(BEANS.java:42)
at com.anis.recovery.app.recovery.custom.chartfields.IChartField.readChartConfig(IChartField.java:32)
at com.anis.recovery.app.recovery.customers.CustomerForm$MainBox$ContainerBox$CustomerDetailBox$CustomerBillsField.getConfiguredChartConfig(CustomerForm.java:481)
at com.anis.recovery.app.recovery.custom.chartfields.AbstractChartField.initConfig(AbstractChartField.java:14)
at org.eclipse.scout.rt.shared.extension.ObjectExtensions.lambda$0(ObjectExtensions.java:84)
at org.eclipse.scout.rt.shared.extension.ObjectExtensions.initConfig(ObjectExtensions.java:100)
at org.eclipse.scout.rt.shared.extension.ObjectExtensions.initConfigAndBackupExtensionContext(ObjectExtensions.java:62)
at org.eclipse.scout.rt.client.ui.form.fields.AbstractFormField.initConfigInternal(AbstractFormField.java:178)
at org.eclipse.scout.rt.client.ui.AbstractWidget.callInitializer(AbstractWidget.java:69)
at org.eclipse.scout.rt.client.ui.form.fields.AbstractFormField.<init>(AbstractFormField.java:145)
at org.eclipse.scout.rt.client.ui.form.fields.AbstractFormField.<init>(AbstractFormField.java:134)
at com.anis.recovery.app.recovery.custom.chartfields.AbstractChartField.<init>(AbstractChartField.java:9)
at com.anis.recovery.app.recovery.customers.CustomerForm$MainBox$ContainerBox$CustomerDetailBox$CustomerBillsField.<init>(CustomerForm.java:478)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.eclipse.scout.rt.platform.reflect.ConfigurationUtility.newInnerInstance(ConfigurationUtility.java:198)
at org.eclipse.scout.rt.client.ui.form.fields.AbstractCompositeField.initConfig(AbstractCompositeField.java:121)
at org.eclipse.scout.rt.client.ui.form.fields.groupbox.AbstractGroupBox.initConfig(AbstractGroupBox.java:371)
at org.eclipse.scout.rt.shared.extension.ObjectExtensions.lambda$0(ObjectExtensions.java:84)
at org.eclipse.scout.rt.shared.extension.ObjectExtensions.initConfig(ObjectExtensions.java:100)
at org.eclipse.scout.rt.shared.extension.ObjectExtensions.initConfigAndBackupExtensionContext(ObjectExtensions.java:62)
at org.eclipse.scout.rt.client.ui.form.fields.AbstractFormField.initConfigInternal(AbstractFormField.java:178)
at org.eclipse.scout.rt.client.ui.AbstractWidget.callInitializer(AbstractWidget.java:69)
at org.eclipse.scout.rt.client.ui.form.fields.AbstractFormField.<init>(AbstractFormField.java:145)
at org.eclipse.scout.rt.client.ui.form.fields.AbstractCompositeField.<init>(AbstractCompositeField.java:54)
at org.eclipse.scout.rt.client.ui.form.fields.groupbox.AbstractGroupBox.<init>(AbstractGroupBox.java:66)
at org.eclipse.scout.rt.client.ui.form.fields.groupbox.AbstractGroupBox.<init>(AbstractGroupBox.java:62)
at com.anis.recovery.app.recovery.customers.CustomerForm$MainBox$ContainerBox$CustomerDetailBox.<init>(CustomerForm.java:428)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.eclipse.scout.rt.platform.reflect.ConfigurationUtility.newInnerInstance(ConfigurationUtility.java:198)
at org.eclipse.scout.rt.client.ui.form.fields.AbstractCompositeField.initConfig(AbstractCompositeField.java:121)
at org.eclipse.scout.rt.client.ui.form.fields.splitbox.AbstractSplitBox.initConfig(AbstractSplitBox.java:148)
at org.eclipse.scout.rt.shared.extension.ObjectExtensions.lambda$0(ObjectExtensions.java:84)
at org.eclipse.scout.rt.shared.extension.ObjectExtensions.initConfig(ObjectExtensions.java:100)
at org.eclipse.scout.rt.shared.extension.ObjectExtensions.initConfigAndBackupExtensionContext(ObjectExtensions.java:62)
at org.eclipse.scout.rt.client.ui.form.fields.AbstractFormField.initConfigInternal(AbstractFormField.java:178)
at org.eclipse.scout.rt.client.ui.AbstractWidget.callInitializer(AbstractWidget.java:69)
at org.eclipse.scout.rt.client.ui.form.fields.AbstractFormField.<init>(AbstractFormField.java:145)
at org.eclipse.scout.rt.client.ui.form.fields.AbstractCompositeField.<init>(AbstractCompositeField.java:54)
at org.eclipse.scout.rt.client.ui.form.fields.splitbox.AbstractSplitBox.<init>(AbstractSplitBox.java:42)
at org.eclipse.scout.rt.client.ui.form.fields.splitbox.AbstractSplitBox.<init>(AbstractSplitBox.java:38)
at com.anis.recovery.app.recovery.customers.CustomerForm$MainBox$ContainerBox.<init>(CustomerForm.java:189)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.eclipse.scout.rt.platform.reflect.ConfigurationUtility.newInnerInstance(ConfigurationUtility.java:198)
at org.eclipse.scout.rt.client.ui.form.fields.AbstractCompositeField.initConfig(AbstractCompositeField.java:121)
at org.eclipse.scout.rt.client.ui.form.fields.groupbox.AbstractGroupBox.initConfig(AbstractGroupBox.java:371)
at org.eclipse.scout.rt.shared.extension.ObjectExtensions.lambda$0(ObjectExtensions.java:84)
at org.eclipse.scout.rt.shared.extension.ObjectExtensions.initConfig(ObjectExtensions.java:100)
at org.eclipse.scout.rt.shared.extension.ObjectExtensions.initConfigAndBackupExtensionContext(ObjectExtensions.java:62)
at org.eclipse.scout.rt.client.ui.form.fields.AbstractFormField.initConfigInternal(AbstractFormField.java:178)
at org.eclipse.scout.rt.client.ui.AbstractWidget.callInitializer(AbstractWidget.java:69)
at org.eclipse.scout.rt.client.ui.form.fields.AbstractFormField.<init>(AbstractFormField.java:145)
at org.eclipse.scout.rt.client.ui.form.fields.AbstractCompositeField.<init>(AbstractCompositeField.java:54)
at org.eclipse.scout.rt.client.ui.form.fields.groupbox.AbstractGroupBox.<init>(AbstractGroupBox.java:66)
at org.eclipse.scout.rt.client.ui.form.fields.groupbox.AbstractGroupBox.<init>(AbstractGroupBox.java:62)
at com.anis.recovery.app.recovery.customers.CustomerForm$MainBox.<init>(CustomerForm.java:186)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.eclipse.scout.rt.platform.reflect.ConfigurationUtility.newInnerInstance(ConfigurationUtility.java:198)
at org.eclipse.scout.rt.client.ui.form.AbstractForm.initConfig(AbstractForm.java:670)
at org.eclipse.scout.rt.shared.extension.ObjectExtensions.lambda$0(ObjectExtensions.java:84)
at org.eclipse.scout.rt.shared.extension.ExtensionRegistry.runInContext(ExtensionRegistry.java:740)
at org.eclipse.scout.rt.shared.extension.ObjectExtensions.initConfig(ObjectExtensions.java:97)
at org.eclipse.scout.rt.shared.extension.ObjectExtensions.initConfig(ObjectExtensions.java:58)
at org.eclipse.scout.rt.client.ui.form.AbstractForm.lambda$0(AbstractForm.java:272)
at org.eclipse.scout.rt.platform.util.concurrent.Callables.lambda$0(Callables.java:31)
at org.eclipse.scout.rt.platform.chain.callable.CallableChain$Chain.continueChain(CallableChain.java:227)
at org.eclipse.scout.rt.platform.transaction.TransactionProcessor.runTxMandatory(TransactionProcessor.java:156)
at org.eclipse.scout.rt.platform.transaction.TransactionProcessor.runTxRequired(TransactionProcessor.java:139)
at org.eclipse.scout.rt.platform.transaction.TransactionProcessor.intercept(TransactionProcessor.java:78)
at org.eclipse.scout.rt.platform.chain.callable.CallableChain$Chain.continueChain(CallableChain.java:222)
at org.eclipse.scout.rt.platform.chain.callable.CallableChain.call(CallableChain.java:170)
at org.eclipse.scout.rt.platform.context.RunContext.call(RunContext.java:158)
at org.eclipse.scout.rt.platform.context.RunContext.call(RunContext.java:139)
at org.eclipse.scout.rt.platform.context.RunContext.run(RunContext.java:110)
at org.eclipse.scout.rt.client.ui.form.AbstractForm.initConfigInternal(AbstractForm.java:272)
at org.eclipse.scout.rt.client.ui.AbstractWidget.callInitializer(AbstractWidget.java:69)
at org.eclipse.scout.rt.client.ui.form.AbstractForm.<init>(AbstractForm.java:231)
at org.eclipse.scout.rt.client.ui.form.AbstractForm.<init>(AbstractForm.java:215)
at com.anis.recovery.app.recovery.customers.CustomerForm.<init>(CustomerForm.java:58)
at com.anis.recovery.app.recovery.customers.CustomerNodePage.execPageActivated(CustomerNodePage.java:32)
at org.eclipse.scout.rt.client.ui.desktop.outline.pages.AbstractPage$LocalPageExtension.execPageActivated(AbstractPage.java:1242)
at org.eclipse.scout.rt.client.extension.ui.desktop.outline.pages.PageChains$PagePageActivatedChain$1.callMethod(PageChains.java:78)
at org.eclipse.scout.rt.client.extension.ui.desktop.outline.pages.PageChains$PagePageActivatedChain$1.callMethod(PageChains.java:1)
at org.eclipse.scout.rt.shared.extension.AbstractExtensionChain.callChain(AbstractExtensionChain.java:113)
at org.eclipse.scout.rt.client.extension.ui.desktop.outline.pages.PageChains$PagePageActivatedChain.execPageActivated(PageChains.java:81)
at org.eclipse.scout.rt.client.extension.ui.desktop.outline.pages.AbstractPageExtension.execPageActivated(AbstractPageExtension.java:50)
at org.eclipse.scout.rt.client.extension.ui.desktop.outline.pages.PageChains$PagePageActivatedChain$1.callMethod(PageChains.java:78)
at org.eclipse.scout.rt.client.extension.ui.desktop.outline.pages.PageChains$PagePageActivatedChain$1.callMethod(PageChains.java:1)
at org.eclipse.scout.rt.shared.extension.AbstractExtensionChain.callChain(AbstractExtensionChain.java:113)
at org.eclipse.scout.rt.client.extension.ui.desktop.outline.pages.PageChains$PagePageActivatedChain.execPageActivated(PageChains.java:81)
at org.eclipse.scout.rt.client.ui.desktop.outline.pages.AbstractPage.interceptPageActivated(AbstractPage.java:1155)
at org.eclipse.scout.rt.client.ui.desktop.outline.pages.AbstractPage.pageActivatedNotify(AbstractPage.java:807)
at org.eclipse.scout.rt.client.ui.desktop.outline.AbstractOutline.makeActivePageToContextPage(AbstractOutline.java:653)
at org.eclipse.scout.rt.client.ui.desktop.outline.DefaultPageChangeStrategy.pageChanged(DefaultPageChangeStrategy.java:39)
at org.eclipse.scout.rt.client.ui.desktop.outline.AbstractOutline.handleActivePageChanged(AbstractOutline.java:743)
at org.eclipse.scout.rt.client.ui.desktop.outline.AbstractOutline.nodesSelectedInternal(AbstractOutline.java:733)
at org.eclipse.scout.rt.client.ui.basic.tree.AbstractTree.fireNodesSelected(AbstractTree.java:2315)
at org.eclipse.scout.rt.client.ui.basic.tree.AbstractTree.selectNodes(AbstractTree.java:1947)
at org.eclipse.scout.rt.client.ui.basic.tree.AbstractTree$P_UIFacade.setNodesSelectedFromUI(AbstractTree.java:2875)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.scout.rt.client.ModelContextProxy.lambda$1(ModelContextProxy.java:49)
at org.eclipse.scout.rt.platform.chain.callable.CallableChain$Chain.continueChain(CallableChain.java:227)
at org.eclipse.scout.rt.platform.transaction.TransactionProcessor.runTxMandatory(TransactionProcessor.java:156)
at org.eclipse.scout.rt.platform.transaction.TransactionProcessor.runTxRequired(TransactionProcessor.java:139)
at org.eclipse.scout.rt.platform.transaction.TransactionProcessor.intercept(TransactionProcessor.java:78)
at org.eclipse.scout.rt.platform.chain.callable.CallableChain$Chain.continueChain(CallableChain.java:222)
at org.eclipse.scout.rt.platform.chain.callable.CallableChain.call(CallableChain.java:170)
at org.eclipse.scout.rt.platform.context.RunContext.call(RunContext.java:158)
at org.eclipse.scout.rt.client.ModelContextProxy.lambda$0(ModelContextProxy.java:49)
at com.sun.proxy.$Proxy31.setNodesSelectedFromUI(Unknown Source)
at org.eclipse.scout.rt.ui.html.json.tree.JsonTree.handleUiNodesSelected(JsonTree.java:1065)
at org.eclipse.scout.rt.ui.html.json.tree.JsonTree.handleUiEvent(JsonTree.java:1011)
at org.eclipse.scout.rt.ui.html.json.JsonEventProcessor.processEvent(JsonEventProcessor.java:52)
at org.eclipse.scout.rt.ui.html.json.JsonEventProcessor.processEvents(JsonEventProcessor.java:37)
at org.eclipse.scout.rt.ui.html.UiSession.processJsonRequestInternal(UiSession.java:817)
at org.eclipse.scout.rt.platform.util.concurrent.Callables.lambda$0(Callables.java:31)
at org.eclipse.scout.rt.platform.chain.callable.CallableChain$Chain.continueChain(CallableChain.java:227)
at org.eclipse.scout.rt.platform.job.internal.ExceptionProcessor.intercept(ExceptionProcessor.java:41)
at org.eclipse.scout.rt.platform.chain.callable.CallableChain$Chain.continueChain(CallableChain.java:222)
at org.eclipse.scout.rt.platform.chain.callable.CallableChain$Chain.continueChain(CallableChain.java:227)
at org.eclipse.scout.rt.platform.transaction.TransactionProcessor.runTxMandatory(TransactionProcessor.java:156)
at org.eclipse.scout.rt.platform.transaction.TransactionProcessor.runTxRequired(TransactionProcessor.java:139)
at org.eclipse.scout.rt.platform.transaction.TransactionProcessor.intercept(TransactionProcessor.java:78)
at org.eclipse.scout.rt.platform.chain.callable.CallableChain$Chain.continueChain(CallableChain.java:222)
at org.eclipse.scout.rt.platform.chain.callable.CallableChain.call(CallableChain.java:170)
at org.eclipse.scout.rt.platform.context.RunContext.call(RunContext.java:158)
at org.eclipse.scout.rt.platform.context.RunContextRunner.intercept(RunContextRunner.java:38)
at org.eclipse.scout.rt.platform.chain.callable.CallableChain$Chain.continueChain(CallableChain.java:222)
at org.eclipse.scout.rt.platform.job.internal.CallableChainExceptionHandler.intercept(CallableChainExceptionHandler.java:32)
at org.eclipse.scout.rt.platform.chain.callable.CallableChain$Chain.continueChain(CallableChain.java:222)
at org.eclipse.scout.rt.platform.chain.callable.CallableChain.call(CallableChain.java:170)
at org.eclipse.scout.rt.platform.job.internal.JobFutureTask.lambda$0(JobFutureTask.java:106)
at java.util.concurrent.FutureTask.run(Unknown Source)
at org.eclipse.scout.rt.platform.job.internal.JobFutureTask.run(JobFutureTask.java:175)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
at org.eclipse.scout.rt.platform.job.internal.NamedThreadFactory$1.run(NamedThreadFactory.java:63)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Re: Error with Chart Fields [message #1823783 is a reply to message #1823768] |
Thu, 02 April 2020 02:01  |
Eclipse User |
|
|
|
Sure, you can use another chart library in place of chart.js. Whether or not you need to make changes to JsonChartField class depends on this library, I guess. Since chart.js accepts a JSON/JavaScript object to configure the chart, we decided to simply pass that object from Java directly to the browser (this is the "chartConfig" property in the ChartField). If your new chart library works the same way, you don't need to change a lot.
I'd start in the JS-layer with the new library. Look what changes are required to the ChartField.js, then decide what API or getConfigured* methods the _Java_-Programmer needs, to work with the field and then make changes to the JsonChartField class, since this is the interface between the Java- and the JavaScript-Layer.
[Updated on: Thu, 02 April 2020 05:30] by Moderator
|
|
|
Powered by
FUDForum. Page generated in 0.12677 seconds