简体   繁体   中英

Default Abstract Chart for Eclipse Scout

I am trying to display a simple chart using eclipse scout 22 using their default abstract chart and not chart.js for simplicity. However the error I am left with now when loading the form with the chart on it is as follows:

 java.lang.IllegalArgumentException: No factory found for model null/ChartField 

I followed this tutorial put out by eclipse scout. To regurgitate the tutorial here is what i have done:

1.) In just the client pom.xml I added

 <dependency>
   <groupId>org.eclipse.scout.rt</groupId>
   <artifactId>org.eclipse.scout.rt.chart.client</artifactId>
 </dependency>

2.) I updated the maven project in the eclipse IDE and cleaned the project.

3.) In the package.json file in my ui.html I added "@eclipse-scout/chart": "22.0.0-beta.10", To "dependencies" .

4.) In UI.html > MYPROJECT.js I added

import * as chart from '@eclipse-scout/chart';
Object.assign({}, chart);

5.) And in MYPROJECT-theme.less / MYPROJECT-theme-dark.less I added respecctfully:

@import "~@eclipse-scout/chart/src/index";
@import "~@eclipse-scout/chart/src/index-dark";

6.) Finally in my form within a group box i added:

public class ChartField extends AbstractChartField<Chart> {
   public class Chart extends AbstractChart {
   }
}

From what I've researched at this point it appears I need to maybe make a JsonObjectFactory for an adapter? I'm not sure how to do that in this case nor can I find a proper guide online. This is also the point in the tutorial where I could not add the fake data to the pie chart as seen in the link above for the scout tutorial. Im not sure where to put it? Reference: 21.2.3. Add data to the chart.

UPDATE: In my UI.HTML src/main/java I added a package with a folder for JsonObjectFactory, inside of that I have the following:

@Bean
 @Order(100)
 public class JsonObjectFactory extends AbstractJsonObjectFactory {

@Override
public IJsonAdapter<?> createJsonAdapter(Object model, IUiSession session, String id, IJsonAdapter<?> parent) {
    System.out.println("MY JSON ADAPTER BITCH");
    if (model instanceof IChartField) {
        return new JsonChartField((IChartField) model, session, id, parent);
    }
    return null;
}

}

without any further linking when I open the form containing the chart it still throws an error but inside my server side console I have print outs in my JsonObjectFactory. So now I am attempting to make a JsonChartField.java file. Once I get all errors resolved I will post another update. But I have a feeling I need a lot more css and js files to get this to even display a chart?

I had a similar problem and exception in the JsonObjectFactory because of the ambiguity of the tutorial. You'll have to add the chart dependencies to the client-, shared- and ui.html pom files . Here is my post asking a question and its resolution on the Eclipse Scout form.

I hope this helps.

JD

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM