diff --git a/src/main/redstorm/storm/jruby/JRubyShellBolt.java b/src/main/redstorm/storm/jruby/JRubyShellBolt.java new file mode 100644 index 0000000..248b285 --- /dev/null +++ b/src/main/redstorm/storm/jruby/JRubyShellBolt.java @@ -0,0 +1,26 @@ +package redstorm.storm.jruby; + +import backtype.storm.task.ShellBolt; +import backtype.storm.topology.IRichBolt; +import backtype.storm.topology.OutputFieldsDeclarer; +import backtype.storm.tuple.Fields; +import java.util.Map; + +public class JRubyShellBolt extends ShellBolt implements IRichBolt { + private String[] _fields; + + public JRubyShellBolt(String[] command, String[] fields) { + super(command); + _fields = fields; + } + + @Override + public void declareOutputFields(OutputFieldsDeclarer declarer) { + declarer.declare(new Fields(_fields)); + } + + @Override + public Map getComponentConfiguration() { + return null; + } +} diff --git a/src/main/redstorm/storm/jruby/JRubyShellSpout.java b/src/main/redstorm/storm/jruby/JRubyShellSpout.java new file mode 100644 index 0000000..fd505c0 --- /dev/null +++ b/src/main/redstorm/storm/jruby/JRubyShellSpout.java @@ -0,0 +1,26 @@ +package redstorm.storm.jruby; + +import backtype.storm.spout.ShellSpout; +import backtype.storm.topology.IRichSpout; +import backtype.storm.topology.OutputFieldsDeclarer; +import backtype.storm.tuple.Fields; +import java.util.Map; + +public class JRubyShellSpout extends ShellSpout implements IRichSpout { + private String[] _fields; + + public JRubyShellSpout(String[] command, String[] fields) { + super(command); + _fields = fields; + } + + @Override + public void declareOutputFields(OutputFieldsDeclarer declarer) { + declarer.declare(new Fields(_fields)); + } + + @Override + public Map getComponentConfiguration() { + return null; + } +}