OutputCollector patch

This commit is contained in:
Ian Smith 2014-03-26 14:08:35 -07:00
parent af79df05fa
commit 00c42f5c14
2 changed files with 16 additions and 1 deletions

View File

@ -1,8 +1,9 @@
require 'java'
java_import 'backtype.storm.task.OutputCollector'
java_import 'backtype.storm.tuple.Tuple'
# make alias methods to specific signatures to avoid selection overhead for heavily overloaded method
class OutputCollector
java_alias :emit_tuple, :emit, [java.lang.Class.for_name("java.util.List")]
java_alias :emit_anchor_tuple, :emit, [java.lang.Class.for_name("backtype.storm.tuple.Tuple"), java.lang.Class.for_name("java.util.List")]
java_alias :emit_anchor_tuple, :emit, [Tuple.java_class, java.lang.Class.for_name("java.util.List")]
end

View File

@ -0,0 +1,14 @@
require 'spec_helper'
require 'red_storm/dsl/output_collector'
describe OutputCollector do
describe '#instance methods' do
subject { described_class.new('foo') }
# We should have an alias for #emit_tuple
it { should respond_to :emit_tuple }
# We should have an alias for #emit_anchor_tuple
it { should respond_to :emit_anchor_tuple }
end
end