birt-core 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/birt/core/mysql.rb +1 -1
- data/lib/birt/core/report/base_report.rb +12 -0
- data/lib/birt/core/report/property.rb +15 -0
- data/lib/birt/core/report/table_cell_data.rb +16 -0
- data/lib/birt/core/report/table_cell_label.rb +15 -0
- data/lib/birt/core/report/table_detail.rb +13 -0
- data/lib/birt/core/report/table_footer.rb +13 -0
- data/lib/birt/core/report/table_header.rb +15 -0
- data/lib/birt/core/report/table_report.rb +16 -1
- data/lib/birt/core/report/table_row.rb +15 -0
- data/lib/birt/core/report/table_row_cell.rb +16 -0
- data/lib/birt/core/report/text_property.rb +15 -0
- data/lib/birt/core/rpt_design.rb +11 -4
- data/lib/birt/core/version.rb +1 -1
- metadata +11 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 299fc1930ccff07a320781bc0d9696ae7114b574
|
4
|
+
data.tar.gz: 9cdec5daf262906130b29362d38cd4ad226f17f0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 552bce0244578656a036a20b2a89bb9f4283b344b812784fb0e0318ccb9d5fb0589a64ec43c2ed46381048ba110bb96cc35d492af11740f4498f9976bdfd42fe
|
7
|
+
data.tar.gz: d976c468c55b9b79ffbd3bc82b6fa3aff68232cd788fe519401b067eb51f7081a992a7ac065ad4e749ad0e982a30f820457872cc55e7837041984fc82a91991a
|
data/lib/birt/core/mysql.rb
CHANGED
@@ -0,0 +1,15 @@
|
|
1
|
+
class Birt::Core::Property < Birt::Core::BaseReport
|
2
|
+
attr_accessor :name
|
3
|
+
attr_accessor :text
|
4
|
+
|
5
|
+
def initialize(x_ele)
|
6
|
+
|
7
|
+
super(x_ele) do
|
8
|
+
self.name = x_ele.attribute(:name).value
|
9
|
+
self.text = x_ele.text
|
10
|
+
end
|
11
|
+
|
12
|
+
yield(self) if block_given?
|
13
|
+
end
|
14
|
+
|
15
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
class Birt::Core::TableCellData < Birt::Core::BaseReport
|
2
|
+
|
3
|
+
|
4
|
+
attr_accessor :properties
|
5
|
+
|
6
|
+
def initialize(x_ele)
|
7
|
+
self.properties = Array.new
|
8
|
+
|
9
|
+
super(x_ele) do
|
10
|
+
x_ele.get_elements(xpath="property").each { |tp| self.properties.push Birt::Core::Property.new(tp) }
|
11
|
+
end
|
12
|
+
|
13
|
+
yield(self) if block_given?
|
14
|
+
end
|
15
|
+
|
16
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
class Birt::Core::TableCellLabel < Birt::Core::BaseReport
|
2
|
+
|
3
|
+
attr_accessor :text_properties
|
4
|
+
|
5
|
+
def initialize(x_ele)
|
6
|
+
self.text_properties = Array.new
|
7
|
+
|
8
|
+
super(x_ele) do
|
9
|
+
x_ele.get_elements(xpath="text-property").each { |tp| self.text_properties.push Birt::Core::TextProperty.new(tp) }
|
10
|
+
end
|
11
|
+
|
12
|
+
yield(self) if block_given?
|
13
|
+
end
|
14
|
+
|
15
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
class Birt::Core::TableDetail < Birt::Core::BaseReport
|
2
|
+
attr_accessor :rows
|
3
|
+
|
4
|
+
def initialize(x_ele)
|
5
|
+
self.rows = Array.new
|
6
|
+
|
7
|
+
super(x_ele) do
|
8
|
+
x_ele.get_elements(xpath="row").each { |row| self.rows.push Birt::Core::TableRow.new(row) }
|
9
|
+
end
|
10
|
+
|
11
|
+
yield(self) if block_given?
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
class Birt::Core::TableFooter< Birt::Core::BaseReport
|
2
|
+
attr_accessor :rows
|
3
|
+
|
4
|
+
def initialize(x_ele)
|
5
|
+
self.rows = Array.new
|
6
|
+
|
7
|
+
super(x_ele) do
|
8
|
+
x_ele.get_elements(xpath="row").each { |row| self.rows.push Birt::Core::TableRow.new(row)}
|
9
|
+
end
|
10
|
+
|
11
|
+
yield(self) if block_given?
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
class Birt::Core::TableHeader < Birt::Core::BaseReport
|
2
|
+
|
3
|
+
attr_accessor :rows
|
4
|
+
|
5
|
+
def initialize(x_ele)
|
6
|
+
self.rows = Array.new
|
7
|
+
|
8
|
+
super(x_ele) do
|
9
|
+
x_ele.get_elements(xpath="row").each { |row| self.rows.push Birt::Core::TableRow.new(row)}
|
10
|
+
end
|
11
|
+
|
12
|
+
yield(self) if block_given?
|
13
|
+
end
|
14
|
+
|
15
|
+
end
|
@@ -1,2 +1,17 @@
|
|
1
|
-
class Birt::Core::TableReport
|
1
|
+
class Birt::Core::TableReport < Birt::Core::BaseReport
|
2
|
+
attr_accessor :header
|
3
|
+
attr_accessor :detail
|
4
|
+
attr_accessor :footer
|
5
|
+
attr_accessor :data_set
|
6
|
+
|
7
|
+
def initialize(xml_element)
|
8
|
+
|
9
|
+
super(xml_element) do
|
10
|
+
self.header = Birt::Core::TableHeader.new(xml_element.get_elements(xpath="header")[0])
|
11
|
+
self.detail = Birt::Core::TableDetail.new(xml_element.get_elements(xpath="detail")[0])
|
12
|
+
self.footer = Birt::Core::TableDetail.new(xml_element.get_elements(xpath="footer")[0])
|
13
|
+
end
|
14
|
+
|
15
|
+
yield(self) if block_given?
|
16
|
+
end
|
2
17
|
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
class Birt::Core::TableRow < Birt::Core::BaseReport
|
2
|
+
|
3
|
+
attr_accessor :row_cells
|
4
|
+
|
5
|
+
def initialize(x_ele)
|
6
|
+
self.row_cells = Array.new
|
7
|
+
|
8
|
+
super(x_ele) do
|
9
|
+
x_ele.get_elements(xpath="cell").each { |cell| self.row_cells.push Birt::Core::TableRowCell.new(cell) }
|
10
|
+
end
|
11
|
+
|
12
|
+
yield(self) if block_given?
|
13
|
+
end
|
14
|
+
|
15
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
class Birt::Core::TableRowCell < Birt::Core::BaseReport
|
2
|
+
attr_accessor :cell_labels
|
3
|
+
attr_accessor :cell_datas
|
4
|
+
|
5
|
+
def initialize(x_ele)
|
6
|
+
self.cell_labels = Array.new
|
7
|
+
self.cell_datas = Array.new
|
8
|
+
|
9
|
+
super(x_ele) do
|
10
|
+
x_ele.get_elements(xpath="label").each { |label| self.cell_labels.push Birt::Core::TableCellLabel.new(label) }
|
11
|
+
x_ele.get_elements(xpath="data").each { |data| self.cell_datas.push Birt::Core::TableCellData.new(data) }
|
12
|
+
end
|
13
|
+
|
14
|
+
yield(self) if block_given?
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
class Birt::Core::TextProperty < Birt::Core::BaseReport
|
2
|
+
attr_accessor :name
|
3
|
+
attr_accessor :text
|
4
|
+
|
5
|
+
def initialize(x_ele)
|
6
|
+
|
7
|
+
super(x_ele) do
|
8
|
+
self.name = x_ele.attribute(:name).value
|
9
|
+
self.text = x_ele.text
|
10
|
+
end
|
11
|
+
|
12
|
+
yield(self) if block_given?
|
13
|
+
end
|
14
|
+
|
15
|
+
end
|
data/lib/birt/core/rpt_design.rb
CHANGED
@@ -4,11 +4,13 @@ class Birt::Core::RptDesign
|
|
4
4
|
attr_accessor :rpt_design_path
|
5
5
|
attr_accessor :data_sources
|
6
6
|
attr_accessor :data_sets
|
7
|
+
attr_accessor :reports
|
7
8
|
|
8
9
|
def initialize(rpt_design_path)
|
9
10
|
self.rpt_design_path = rpt_design_path
|
10
11
|
self.data_sources = Hash.new
|
11
12
|
self.data_sets = Hash.new
|
13
|
+
self.reports = Hash.new
|
12
14
|
end
|
13
15
|
|
14
16
|
#解析文件
|
@@ -17,19 +19,24 @@ class Birt::Core::RptDesign
|
|
17
19
|
|
18
20
|
#数据源
|
19
21
|
_root.each_element(xpath = '/report/data-sources/oda-data-source') do |item|
|
20
|
-
self.data_sources[item.attribute(:name).value] = Birt::Core::DataSource.new(item)
|
22
|
+
p self.data_sources[item.attribute(:name).value] = Birt::Core::DataSource.new(item)
|
21
23
|
end
|
22
24
|
|
23
25
|
#数据集
|
24
26
|
_root.each_element(xpath='/report/data-sets/oda-data-set') do |item|
|
25
27
|
self.data_sets[item.attribute(:name).value] = Birt::Core::DataSet.new(item) do |data_set|
|
26
28
|
data_set.data_source = self.data_sources[item.get_elements("property[@name='dataSource']")[0].text]
|
27
|
-
data_set.query
|
28
29
|
end
|
29
30
|
end
|
30
31
|
|
31
|
-
|
32
|
-
|
32
|
+
#报表
|
33
|
+
_root.each_element(xpath='/report/body/table') do |item|
|
34
|
+
self.reports[item.attribute(:id).value] = Birt::Core::TableReport.new(item) do |report|
|
35
|
+
report.data_set = self.data_sets[item.get_elements("property[@name='dataSet']")[0].text]
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
p self.reports
|
33
40
|
|
34
41
|
end
|
35
42
|
|
data/lib/birt/core/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: birt-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stream
|
@@ -88,7 +88,17 @@ files:
|
|
88
88
|
- lib/birt/core/data_set.rb
|
89
89
|
- lib/birt/core/data_source.rb
|
90
90
|
- lib/birt/core/mysql.rb
|
91
|
+
- lib/birt/core/report/base_report.rb
|
92
|
+
- lib/birt/core/report/property.rb
|
93
|
+
- lib/birt/core/report/table_cell_data.rb
|
94
|
+
- lib/birt/core/report/table_cell_label.rb
|
95
|
+
- lib/birt/core/report/table_detail.rb
|
96
|
+
- lib/birt/core/report/table_footer.rb
|
97
|
+
- lib/birt/core/report/table_header.rb
|
91
98
|
- lib/birt/core/report/table_report.rb
|
99
|
+
- lib/birt/core/report/table_row.rb
|
100
|
+
- lib/birt/core/report/table_row_cell.rb
|
101
|
+
- lib/birt/core/report/text_property.rb
|
92
102
|
- lib/birt/core/rpt_design.rb
|
93
103
|
- lib/birt/core/version.rb
|
94
104
|
homepage: https://github.com/mumaoxi/birt-core
|