From 00c42f5c14a9ea481baf30a5a54ed481ba35d637 Mon Sep 17 00:00:00 2001 From: Ian Smith Date: Wed, 26 Mar 2014 14:08:35 -0700 Subject: [PATCH] OutputCollector patch --- lib/red_storm/dsl/output_collector.rb | 3 ++- spec/red_storm/dsl/output_collector_spec.rb | 14 ++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 spec/red_storm/dsl/output_collector_spec.rb diff --git a/lib/red_storm/dsl/output_collector.rb b/lib/red_storm/dsl/output_collector.rb index 3e9c244..d7a56e2 100644 --- a/lib/red_storm/dsl/output_collector.rb +++ b/lib/red_storm/dsl/output_collector.rb @@ -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 diff --git a/spec/red_storm/dsl/output_collector_spec.rb b/spec/red_storm/dsl/output_collector_spec.rb new file mode 100644 index 0000000..d604337 --- /dev/null +++ b/spec/red_storm/dsl/output_collector_spec.rb @@ -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