1+ # coding: utf-8
12require 'java'
23
34java_import org . knime . base . data . append . column . AppendedColumnRow
1213
1314java_import org . knime . core . node . ExecutionContext
1415java_import org . knime . core . data . container . BlobSupportDataRow
15- java_import org . knime . core . data . DataCell ;
16+ java_import org . knime . core . data . DataCell
1617
1718module Knime
1819 module CellUtility
19- def add_cell cell
20- @cells ||= [ ]
21- @cells << cell
20+ def add_cell ( cell )
21+ @cells ||= [ ]
22+ @cells << cell
2223 end
2324
24- def int val ; add_cell ( IntCell . new val ) ; self ; end
25- def long val ; add_cell ( LongCell . new val ) ; self ; end
26- def string val ; add_cell ( StringCell . new val ) ; self ; end
27- def double val ; add_cell ( DoubleCell . new val ) ; self ; end
25+ def int ( val )
26+ add_cell IntCell . new ( val )
27+ self
28+ end
29+
30+ def long ( val )
31+ add_cell LongCell . new ( val )
32+ self
33+ end
34+
35+ def string ( val )
36+ add_cell StringCell . new ( val )
37+ self
38+ end
39+
40+ def double ( val )
41+ add_cell DoubleCell . new ( val )
42+ self
43+ end
2844
2945 # workadound for RowKey class
30- def stringCell val ; add_cell ( StringCell . new val ) ; self ; end
46+ def stringCell ( val )
47+ add_cell StringCell . new ( val )
48+ self
49+ end
3150 end
3251
3352 class Cells
3453 include CellUtility
3554
36- def cells ; @cells ; end ;
55+ attr_reader : cells
3756 end
3857
39- # This method allows to display any text to indicate current
58+ # This method allows to display any text to indicate current
4059 # calclulation progress
41- def setProgress *val
42- $exec. setProgress *val
60+ def setProgress ( *val )
61+ $exec. setProgress ( *val )
4362 end
4463
4564 # module with methods for DataCell conversations
4665 module DataConverter
4766 # convert to double
48- def to_f ; getDoubleValue ( ) ; end
67+ def to_f
68+ getDoubleValue
69+ end
70+
4971 # convert to integer
50- def to_i ; getIntValue ( ) ; end
72+ def to_i
73+ getIntValue
74+ end
75+
5176 # convert to long
52- def to_l ; getLongValue ( ) ; end
77+ def to_l
78+ getLongValue
79+ end
5380 end
54-
81+
5582 def snippetRunner
5683 count , step = $inData0. length , 0x2FF
57- coef = step / count . to_f
58- $inData0. each_with_index do |row , i |
84+ coef = step / count . to_f
85+ $inData0. each_with_index do |row , i |
5986 $outContainer0 << ( yield row )
60- setProgress "#{ i * coef } %" if ( i & step ) == 0
87+ setProgress "#{ i * coef } %" if ( i & step ) == 0
6188 end
6289 end
6390end
@@ -78,36 +105,38 @@ class LongCell
78105 include DataConverter
79106end
80107
81-
82108# Extended knime class
83109class Java ::OrgKnimeCoreDataContainer ::BlobSupportDataRow
84110 include CellUtility
85111
86112 # Append new columns by previously added chain of cells
87113 def append
88- AppendedColumnRow . new self , *@cells
114+ AppendedColumnRow . new ( self , *@cells )
89115 end
90116
91117 # Append new columns by instance of Cell class
92- def << cells
93- AppendedColumnRow . new self , *cells . cells
118+ def <<( cells )
119+ AppendedColumnRow . new ( self , *cells . cells )
94120 end
95121
96122 # Get cells by index in Ruby style
97- def [] idx
123+ def []( idx )
98124 if idx >= 0
99125 getCell ( idx )
100126 else
101- getCell ( getNumCells ( ) + idx ) # -1 - last element
127+ getCell ( getNumCells + idx ) # -1 - last element
102128 end
103129 end
104130end
105131
106132# Extended knime class
107133class Java ::OrgKnimeCoreNode ::BufferedDataTable
108134 # Add Ruby specific methods
109- def length ; getRowCount ( ) ; end
110- alias :size :length
135+ def length
136+ getRowCount
137+ end
138+
139+ alias_method :size , :length
111140end
112141
113142# Extended knime class
@@ -116,38 +145,34 @@ class Java::OrgKnimeCoreData::RowKey
116145
117146 # Create new row object
118147 # Return BlobSupportDataRow object
119- def new_row obj_cells = nil
120- @cells = obj_cells . cells if obj_cells
121- ar = DataCell [ @cells . length ] . new
122- @cells . each_with_index { |item , i | ar [ i ] = item }
123- BlobSupportDataRow . new ( self , ar )
148+ def new_row ( obj_cells = nil )
149+ @cells = obj_cells . cells if obj_cells
150+ ar = DataCell [ @cells . length ] . new
151+ @cells . each_with_index { |item , i | ar [ i ] = item }
152+ BlobSupportDataRow . new ( self , ar )
124153 end
125154end
126155
127156# Extended knime class
128157class Java ::OrgKnimeCoreDataContainer ::DataContainer
129158 # Add row in the data container.
130159 # Row can be copied from input data container or created.
131- def << obj
132- if obj . kind_of? Cells
133- row = createRowKey . new_row obj
134- else
135- row = obj
136- end
160+ def <<( obj )
161+ row = obj . kind_of? Cells ? createRowKey . new_row ( obj ) : obj
137162
138163 addRowToTable row
139164 end
140165
141166 # Set current number of row key.
142- def rowKey = num
167+ def rowKey = ( num )
143168 @key = num
144169 end
145170
146171 # Create uniq key for new row.
147172 # Return RowKey object
148173 def createRowKey
149174 @key ||= 0
150- key , @key = @key , @key + 1
175+ key , @key = @key , @key + 1
151176 RowKey . createRowKey key
152177 end
153178end
0 commit comments