简体   繁体   English

如何在Eclipse BIRT中将Java对象用作数据集?

[英]How can I use Java objects as data sets in Eclipse BIRT?

I basically followed this tutorial: http://www.vogella.com/tutorials/EclipseBIRT/article.html 我基本上遵循了该教程: http : //www.vogella.com/tutorials/EclipseBIRT/article.html

Now I have two Java classes, Mock and MockContainer , that look like this: 现在,我有两个Java类, MockMockContainer ,如下所示:

package reports;

public class Mock {

    private int x;
    private double y;

    public Mock(int x, double y) {
        this.x = x;
        this.y = y;
    }

    public int getX() {
        return x;
    }

    public void setX(int x) {
        this.x = x;
    }

    public double getY() {
        return y;
    }

    public void setY(double y) {
        this.y = y;
    }

}

... ...

package reports;

import java.util.ArrayList;
import java.util.List;

public class MockContainer {

    public MockContainer() {

    }

    public List<Mock> getMockList() {
        List<Mock> mocks = new ArrayList<Mock>();

        mocks.add(new Mock(1000, +2.5));
        mocks.add(new Mock(2000, +1.5));
        mocks.add(new Mock(3000, +0.5));
        mocks.add(new Mock(3000, -0.5));
        mocks.add(new Mock(2000, -1.5));
        mocks.add(new Mock(1000, -2.5));

        return mocks;
    }

}

Also, I have a Scripted Data Source data_source and a Data Set data_set with two columns, x (Integer) and y (Decimal). 另外,我有一个脚本数据源 data_source和一个数据集 data_set其中有两列x (整数)和y (十进制)。

But I have problems writing the JavaScripts. 但是我在编写JavaScript时遇到问题。 My JavaScripts open and fetch in data_set look like this: 我的JavaScript open并在data_set fetch如下所示:

count = 0;

mockContainer = new Packages.reports.MockContainer();

mockList = mockContainer.getMockList();

... ...

if (count < mockList.size()) {
    row["x"] = mockList.get(count).getX();
    row["y"] = mockList.get(count).getY();

    count++;

    return true;
} else {
    return false;
}

But Preview Results stays empty... 但是预览结果仍然为空...

我不知道为什么结果没有显示在预览中,但是最后却起作用了...

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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