node-storm
Version:
Node.js multilang protocol implementation for Storm
62 lines (54 loc) • 1.3 kB
JavaScript
var ttypes = require('./gen-nodejs/storm_types')
var util = require('./util')
function javacomponent(className) {
var args = []
for (var i = 1, ii = arguments.length; i < ii; ++i) {
args.push(arguments[i])
}
return new ttypes.ComponentObject({
java_object: new ttypes.JavaObject({
full_class_name: className,
args_list: args.map(function(arg) {
return new ttypes.JavaObjectArg(arg)
})
})
})
}
function shellcomponent() {
return new ttypes.ComponentObject({
shell: new ttypes.ShellComponent({
execution_command: process.argv[0],
script: util.topologyScript()
})
})
}
function componentcommon() {
return new ttypes.ComponentCommon({
inputs: {},
streams: {}
})
}
exports.shellbolt = function shellbolt() {
return new ttypes.Bolt({
bolt_object: shellcomponent(),
common: componentcommon()
})
}
exports.shellspout = function shellspout() {
return new ttypes.SpoutSpec({
spout_object: shellcomponent(),
common: componentcommon()
})
}
exports.javabolt = function javabolt() {
return new ttypes.Bolt({
bolt_object: javacomponent.apply(null, arguments),
common: componentcommon()
})
}
exports.javaspout = function javaspout() {
return new ttypes.SpoutSpec({
spout_object: javacomponent.apply(null, arguments),
common: componentcommon()
})
}