Module: GoodData::CloudConnect::Nodes
- Defined in:
- lib/cloud_connect/dsl/nodes.rb
Constant Summary collapse
- SF_CONNECTION =
"SFDC"
- EDGE =
"EDGE"
- WRITER =
"DATA_WRITER"
- DEDUP =
"DEDUP"
- READER =
"DATA_READER"
- SF_READER =
"SF_READER"
- REFORMAT =
"REFORMAT"
- FILE_BACKUP =
"FILE_BACKUP"
- PERSISTENT_LOOKUP =
"persistentLookup"
- GD_LOOKUP =
"gdLookup"
- GD_ESTORE_WRITER =
"GD_ESTORE_WRITER"
- GD_FILE_BACKUP =
"FILE_BACKUP"
- GD_FILE_COPY =
"FILE_COPY_MOVE"
- FILE_DELETE =
"FILE_DELETE"
- GD_ESTORE_READER =
"GD_ESTORE_READER"
- ENABLED =
"ENABLED"
- DEFAULT_HEIGHT =
"77"
- DEFAULT_WIDTH =
"128"
- GD_DATASET_WRITER =
"GD_DATASET_WRITER"
- GD_ESTORE_TRUNCATE =
"GD_ESTORE_TRUNCATE"
- DATA_GENERATOR =
"DATA_GENERATOR"
- SIMPLE_GATHER =
"SIMPLE_GATHER"
- SIMPLE_COPY =
"SIMPLE_COPY"
- CHECK_FOREIGN_KEY =
"CHECK_FOREIGN_KEY"
- RUN_GRAPH =
"RUN_GRAPH"
- TRASH =
"TRASH"
- LOOKUP_TABLE_READER_WRITER =
"LOOKUP_TABLE_READER_WRITER"
- FILE_COPY_MOVE =
"FILE_COPY_MOVE"
- FILE_LIST =
"FILE_LIST"
- EXT_SORT =
"EXT_SORT"
- EXT_HASH_JOIN =
"EXT_HASH_JOIN"
- NORMALIZER =
"NORMALIZER"
- MAP_ALL =
<<HEREDOC function integer transform() { $out.0.* = $in.0.*; return ALL; } HEREDOC
- DEFAULT_NODE_PARAMS =
{ :enabled => ENABLED, :guiHeight => DEFAULT_HEIGHT, :guiWidth => DEFAULT_WIDTH }
Class Method Summary collapse
- .backup2(data, options = {}) ⇒ Object
- .base_node(data, options = {}) ⇒ Object
- .connection2(data, options = {}) ⇒ Object
- .copy2(data, options = {}) ⇒ Object
- .data_generator2(data, options = {}) ⇒ Object
- .dedup2(data, options = {}) ⇒ Object
- .edge2(data, options = {}) ⇒ Object
- .es_reader2(data, options = {}) ⇒ Object
- .es_truncate2(data, options = {}) ⇒ Object
- .es_writer2(data, options = {}) ⇒ Object
- .file_backup2(data, options = {}) ⇒ Object
- .file_copy2(data, options = {}) ⇒ Object
- .file_delete2(data, options = {}) ⇒ Object
-
.file_list2(data, options = {}) ⇒ Object
<Node baseURL=“$DATA/1_in.csv” enabled=“enabled” guiHeight=“65” guiName=“File List” guiWidth=“128” guiX=“147” guiY=“213” id=“FILE_LIST0” outputMapping=“//#CTL2 // Transforms input record into output record. function integer transform() = $in.0.fileName; 	return ALL; // Called during component initialization. // function boolean init() {} // Called during each graph run before the transform is executed.
- .gather2(data, options = {}) ⇒ Object
- .gd_loader2(data, options = {}) ⇒ Object
- .get_id ⇒ Object
- .hash_join2(data, options = {}) ⇒ Object
- .lookup2(data, options = {}) ⇒ Object
- .lookup_reader_writer2(data, options = {}) ⇒ Object
- .metadata2(data) ⇒ Object
- .node(data, options = {}) ⇒ Object
- .normalizer2(data, options = {}) ⇒ Object
- .reader2(data, options = {}) ⇒ Object
- .reformat2(data, options = {}) ⇒ Object
- .run_graph2(data, options = {}) ⇒ Object
- .sfdc_reader2(data, options = {}) ⇒ Object
- .sort2(data, options = {}) ⇒ Object
- .trash2(data, options = {}) ⇒ Object
- .writer2(data, options = {}) ⇒ Object
Class Method Details
.backup2(data, options = {}) ⇒ Object
148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 |
# File 'lib/cloud_connect/dsl/nodes.rb', line 148 def self.backup2(data, ={}) local_defaults = { :type => GD_FILE_BACKUP, :mode => "ALL_TO_ONE", :appendTimestamp => true, :makeDirs => true } defaults = local_defaults.merge([:defaults] || {}) base_node(defaults.merge(data), { :allowed => [:sourcePath, :makeDirs, :appendTimestamp, :mode, :baseURL], :defaults => defaults, :required => [] }) end |
.base_node(data, options = {}) ⇒ Object
69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
# File 'lib/cloud_connect/dsl/nodes.rb', line 69 def self.base_node(data, ={}) defaults = DEFAULT_NODE_PARAMS.merge([:defaults] || {}) required = ([:required] || []).concat([:type, :id]) allowed = [:allowed] || [] output_data = defaults.merge({ :id => get_id() }).merge(data) node(output_data, { :allowed => [:enabled, :guiName, :id, :type, :guiHeight, :guiWidth, :name].concat(allowed), :required => required, :defaults => defaults }) end |
.connection2(data, options = {}) ⇒ Object
445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 |
# File 'lib/cloud_connect/dsl/nodes.rb', line 445 def self.connection2(data, ={}) local_defaults = { :type => SF_CONNECTION, :passwordEncrypted => "false", :loginHostname => "login.salesforce.com", :clientId => "gooddata/gooddata/", :name => "Salesforce connection" } defaults = local_defaults.merge([:defaults] || {}) node(defaults.merge(data), { :allowed => [:type, :name, :clientId, :loginHostname, :name, :username, :password, :passwordEncrypted, :token, :id], :defaults => defaults, :required => [:password, :username, :token, :loginHostname, :id, :clientId, :name] }) end |
.copy2(data, options = {}) ⇒ Object
433 434 435 436 437 438 439 440 441 442 443 |
# File 'lib/cloud_connect/dsl/nodes.rb', line 433 def self.copy2(data, ={}) local_defaults = { :type => SIMPLE_COPY, } defaults = local_defaults.merge([:defaults] || {}) base_node(defaults.merge(data), { :allowed => [], :defaults => defaults, :required => [] }) end |
.data_generator2(data, options = {}) ⇒ Object
319 320 321 322 323 324 325 326 327 328 329 330 |
# File 'lib/cloud_connect/dsl/nodes.rb', line 319 def self.data_generator2(data, ={}) local_defaults = { :type => DATA_GENERATOR, :recordsNumber => 1 } defaults = local_defaults.merge([:defaults] || {}) base_node(defaults.merge(data), { :allowed => [], :defaults => defaults, :required => [] }) end |
.dedup2(data, options = {}) ⇒ Object
208 209 210 211 212 213 214 215 216 217 218 219 220 |
# File 'lib/cloud_connect/dsl/nodes.rb', line 208 def self.dedup2(data, ={}) local_defaults = { :type => DEDUP, } defaults = local_defaults.merge([:defaults] || {}) base_node(defaults.merge(data), { :allowed => [], :defaults => defaults, :required => [:dedupKey] }) end |
.edge2(data, options = {}) ⇒ Object
235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 |
# File 'lib/cloud_connect/dsl/nodes.rb', line 235 def self.edge2(data, ={}) local_defaults = { :type => EDGE, :guiBendpoints => "", :guiRouter => "Manhattan", :inPort => "Port 0 (in)", :outPort => "Port 0 (output)" } defaults = local_defaults.merge([:defaults] || {}) base_node(defaults.merge(data), { :allowed => [], :defaults => defaults, :required => [] }) end |
.es_reader2(data, options = {}) ⇒ Object
382 383 384 385 386 387 388 389 390 391 392 |
# File 'lib/cloud_connect/dsl/nodes.rb', line 382 def self.es_reader2(data, ={}) local_defaults = { :type => GD_ESTORE_READER, } defaults = local_defaults.merge([:defaults] || {}) base_node(defaults.merge(data), { :allowed => [], :defaults => defaults, :required => [] }) end |
.es_truncate2(data, options = {}) ⇒ Object
369 370 371 372 373 374 375 376 377 378 379 |
# File 'lib/cloud_connect/dsl/nodes.rb', line 369 def self.es_truncate2(data, ={}) local_defaults = { :type => GD_ESTORE_TRUNCATE, } defaults = local_defaults.merge([:defaults] || {}) base_node(defaults.merge(data), { :allowed => [], :defaults => defaults, :required => [] }) end |
.es_writer2(data, options = {}) ⇒ Object
394 395 396 397 398 399 400 401 402 403 404 |
# File 'lib/cloud_connect/dsl/nodes.rb', line 394 def self.es_writer2(data, ={}) local_defaults = { :type => GD_ESTORE_WRITER, } defaults = local_defaults.merge([:defaults] || {}) base_node(defaults.merge(data), { :allowed => [], :defaults => defaults, :required => [] }) end |
.file_backup2(data, options = {}) ⇒ Object
164 165 166 167 168 169 170 171 172 173 174 175 176 |
# File 'lib/cloud_connect/dsl/nodes.rb', line 164 def self.file_backup2(data, ={}) local_defaults = { :type => FILE_BACKUP, :makeDirs => true } defaults = local_defaults.merge([:defaults] || {}) base_node(defaults.merge(data), { :allowed => [:sourcePath, :baseURL, :mode, :makeDirs], :defaults => defaults, :required => [] }) end |
.file_copy2(data, options = {}) ⇒ Object
178 179 180 181 182 183 184 185 186 187 188 189 190 191 |
# File 'lib/cloud_connect/dsl/nodes.rb', line 178 def self.file_copy2(data, ={}) local_defaults = { :type => GD_FILE_COPY, :operation => "COPY", :makeDirs => true } defaults = local_defaults.merge([:defaults] || {}) base_node(defaults.merge(data), { :allowed => [:sourcePath, :targetPath, :makeDirs, :operation, :baseURL], :defaults => defaults, :required => [] }) end |
.file_delete2(data, options = {}) ⇒ Object
135 136 137 138 139 140 141 142 143 144 145 146 |
# File 'lib/cloud_connect/dsl/nodes.rb', line 135 def self.file_delete2(data, ={}) local_defaults = { :type => FILE_DELETE } defaults = local_defaults.merge([:defaults] || {}) base_node(defaults.merge(data), { :allowed => [:baseURL], :defaults => defaults, :required => [:baseURL] }) end |
.file_list2(data, options = {}) ⇒ Object
<Node baseURL=“$DATA/1_in.csv” enabled=“enabled” guiHeight=“65” guiName=“File List” guiWidth=“128” guiX=“147” guiY=“213” id=“FILE_LIST0” outputMapping=“//#CTL2 // Transforms input record into output record. function integer transform() = $in.0.fileName; 	return ALL; // Called during component initialization. // function boolean init() {} // Called during each graph run before the transform is executed. May be used to allocate and initialize resources // required by the transform. All resources allocated within this method should be released // by the postExecute() method. // function void preExecute() {} // Called only if transform() throws an exception. // function integer transformOnError(string errorMessage, string stackTrace) {} // Called during each graph run after the entire transform was executed. Should be used to free any resources // allocated within the preExecute() method. // function void postExecute() {} // Called to return a user-defined error message when an error occurs. // function string getMessage() {} ” type=“FILE_LIST”/>
333 334 335 336 337 338 339 340 341 342 343 |
# File 'lib/cloud_connect/dsl/nodes.rb', line 333 def self.file_list2(data, ={}) local_defaults = { :type => FILE_LIST, } defaults = local_defaults.merge([:defaults] || {}) base_node(defaults.merge(data), { :allowed => [], :defaults => defaults, :required => [:output_mapping] }) end |
.gather2(data, options = {}) ⇒ Object
420 421 422 423 424 425 426 427 428 429 430 |
# File 'lib/cloud_connect/dsl/nodes.rb', line 420 def self.gather2(data, ={}) local_defaults = { :type => SIMPLE_GATHER, } defaults = local_defaults.merge([:defaults] || {}) base_node(defaults.merge(data), { :allowed => [], :defaults => defaults, :required => [] }) end |
.gd_loader2(data, options = {}) ⇒ Object
84 85 86 87 88 89 90 91 92 93 94 95 |
# File 'lib/cloud_connect/dsl/nodes.rb', line 84 def self.gd_loader2(data, ={}) local_defaults = { :type => GD_DATASET_WRITER, :projectId => "${GDC_PROJECT_ID}", } defaults = local_defaults.merge([:defaults] || {}) base_node(defaults.merge(data), { :allowed => [:enabled, :guiName, :id, :type, :guiHeight, :guiWidth, :name, :projectId, :dataset, :datasetFieldMappings], :defaults => defaults, :required => [] }) end |
.get_id ⇒ Object
52 53 54 |
# File 'lib/cloud_connect/dsl/nodes.rb', line 52 def self.get_id() $__cloud_connect_id += 1 end |
.hash_join2(data, options = {}) ⇒ Object
345 346 347 348 349 350 351 352 353 354 355 |
# File 'lib/cloud_connect/dsl/nodes.rb', line 345 def self.hash_join2(data, ={}) local_defaults = { :type => EXT_HASH_JOIN, } defaults = local_defaults.merge([:defaults] || {}) base_node(defaults.merge(data), { :allowed => [], :defaults => defaults, :required => [] }) end |
.lookup2(data, options = {}) ⇒ Object
292 293 294 295 296 297 298 299 300 301 302 303 304 305 |
# File 'lib/cloud_connect/dsl/nodes.rb', line 292 def self.lookup2(data, ={}) local_defaults = { :type => PERSISTENT_LOOKUP, :cacheSize => "1000", :commitInterval => "100", :pageSize => "16" } defaults = local_defaults.merge([:defaults] || {}) base_node(defaults.merge(data), { :allowed => [], :defaults => defaults, :required => [:metadata] }) end |
.lookup_reader_writer2(data, options = {}) ⇒ Object
280 281 282 283 284 285 286 287 288 289 290 |
# File 'lib/cloud_connect/dsl/nodes.rb', line 280 def self.lookup_reader_writer2(data, ={}) local_defaults = { :type => LOOKUP_TABLE_READER_WRITER, } defaults = local_defaults.merge([:defaults] || {}) base_node(defaults.merge(data), { :allowed => [], :defaults => defaults, :required => [] }) end |
.metadata2(data) ⇒ Object
251 252 253 |
# File 'lib/cloud_connect/dsl/nodes.rb', line 251 def self.(data) data end |
.node(data, options = {}) ⇒ Object
56 57 58 59 60 61 62 63 64 65 66 67 |
# File 'lib/cloud_connect/dsl/nodes.rb', line 56 def self.node(data, ={}) defaults = [:defaults] || {} required = [:required] || [] allowed = [:allowed] || [] output_data = defaults.merge(data) required.each do |key| unless output_data.has_key?(key) fail "#{key} is required but not provided. You defined \"#{data}\"" end end output_data end |
.normalizer2(data, options = {}) ⇒ Object
267 268 269 270 271 272 273 274 275 276 277 |
# File 'lib/cloud_connect/dsl/nodes.rb', line 267 def self.normalizer2(data, ={}) local_defaults = { :type => NORMALIZER, } defaults = local_defaults.merge([:defaults] || {}) base_node(defaults.merge(data), { :allowed => [], :defaults => defaults, :required => [] }) end |
.reader2(data, options = {}) ⇒ Object
116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 |
# File 'lib/cloud_connect/dsl/nodes.rb', line 116 def self.reader2(data, ={}) local_defaults = { :type => READER, :quoteCharacter => "\"", :charset => "UTF-8", :quotedStrings => "true", :skipRows => 1 } defaults = local_defaults.merge([:defaults] || {}) base_node(defaults.merge(data), { :allowed => [:fileURL, :quotedStrings, :quoteCharacter, :charset, :skipRows], :defaults => defaults, :required => [:fileURL] }) end |
.reformat2(data, options = {}) ⇒ Object
255 256 257 258 259 260 261 262 263 264 265 |
# File 'lib/cloud_connect/dsl/nodes.rb', line 255 def self.reformat2(data, ={}) local_defaults = { :type => REFORMAT, } defaults = local_defaults.merge([:defaults] || {}) base_node(defaults.merge(data), { :allowed => [], :defaults => defaults, :required => [] }) end |
.run_graph2(data, options = {}) ⇒ Object
222 223 224 225 226 227 228 229 230 231 232 233 |
# File 'lib/cloud_connect/dsl/nodes.rb', line 222 def self.run_graph2(data, ={}) local_defaults = { :type => RUN_GRAPH, :paramsToPass => "GDC_WEBDAV_ROOT;GDC_PROJECT_ID;GDC_USERNAME;GDC_PASSWORD;GDC_SST" } defaults = local_defaults.merge([:defaults] || {}) base_node(defaults.merge(data), { :allowed => [:paramsToPass, :type, :name, :clientId, :loginHostname, :name, :username, :password, :passwordEncrypted, :token, :id], :defaults => defaults }) end |
.sfdc_reader2(data, options = {}) ⇒ Object
194 195 196 197 198 199 200 201 202 203 204 205 206 |
# File 'lib/cloud_connect/dsl/nodes.rb', line 194 def self.sfdc_reader2(data, ={}) local_defaults = { :type => SF_READER, } defaults = local_defaults.merge([:defaults] || {}) base_node(defaults.merge(data), { :allowed => [:soql, :sfdcConnection, :mandatoryFields], :defaults => defaults, :required => [:soql, :sfdcConnection] }) end |
.sort2(data, options = {}) ⇒ Object
357 358 359 360 361 362 363 364 365 366 367 |
# File 'lib/cloud_connect/dsl/nodes.rb', line 357 def self.sort2(data, ={}) local_defaults = { :type => EXT_SORT, } defaults = local_defaults.merge([:defaults] || {}) base_node(defaults.merge(data), { :allowed => [], :defaults => defaults, :required => [] }) end |
.trash2(data, options = {}) ⇒ Object
307 308 309 310 311 312 313 314 315 316 317 |
# File 'lib/cloud_connect/dsl/nodes.rb', line 307 def self.trash2(data, ={}) local_defaults = { :type => TRASH, } defaults = local_defaults.merge([:defaults] || {}) base_node(defaults.merge(data), { :allowed => [], :defaults => defaults, :required => [] }) end |
.writer2(data, options = {}) ⇒ Object
97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 |
# File 'lib/cloud_connect/dsl/nodes.rb', line 97 def self.writer2(data, ={}) local_defaults = { :type => WRITER, :quoteCharacter => "\"", :charset => "UTF-8", :quotedStrings => "true", :append => "false", :outputFieldNames => "false", :makeDirs => "true" } defaults = local_defaults.merge([:defaults] || {}) base_node(defaults.merge(data), { :allowed => [:fileURL, :quotedStrings, :quoteCharacter, :charset, :outputFieldNames, :append, :makeDirs], :defaults => defaults, :required => [:fileURL] }) end |