如何在 Eclipse BIRT 中使用 Java 个对象作为数据集?
How can I use Java objects as data sets in Eclipse BIRT?
我基本上遵循了这个教程:http://www.vogella.com/tutorials/EclipseBIRT/article.html
现在我有两个 Java 类、Mock
和 MockContainer
,看起来像这样:
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 脚本 open
和 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;
}
但是预览结果仍然是空的...
我不知道为什么结果没有显示在预览中,但最后它起作用了...
我基本上遵循了这个教程:http://www.vogella.com/tutorials/EclipseBIRT/article.html
现在我有两个 Java 类、Mock
和 MockContainer
,看起来像这样:
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 脚本 open
和 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;
}
但是预览结果仍然是空的...
我不知道为什么结果没有显示在预览中,但最后它起作用了...