如何在 Eclipse BIRT 中使用 Java 个对象作为数据集?

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

我基本上遵循了这个教程:http://www.vogella.com/tutorials/EclipseBIRT/article.html

现在我有两个 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;
    }

}

此外,我有一个 脚本数据源 data_source 和一个 数据集 data_set 有两列, x(整数)和 y(十进制)。

但是我在编写 Java 脚本时遇到问题。我在 data_set 中的 Java 脚本 openfetch 如下所示:

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;
}

但是预览结果仍然是空的...

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