@Override public Tuple makeResult( Tuple input, Tuple output ) { return input.get( incomingFields, narrowFields ); } };
@Test public void testWildcard() { Fields aFields = Fields.ALL; Tuple aTuple = tuple.get( fields, aFields ); assertEquals( "not equal: aTuple.size()", 5, aTuple.size() ); assertEquals( "not equal: aTuple.get( 0 )", "a", aTuple.get( fields, new Fields( "one" ) ).getObject( 0 ) ); assertEquals( "not equal: aTuple.get( 1 )", "b", aTuple.get( fields, new Fields( "two" ) ).getObject( 0 ) ); }
@Test public void testArgumentSelector() { Fields declarator = new Fields( "1", "2", "3", "4" ); Tuple incoming = new Tuple( 1, 2, 3, 4 ); Fields selector = new Fields( "3", "2" ); assertTuple( incoming.get( declarator, selector ) ); int[] pos = incoming.getPos( declarator, selector ); assertTuple( incoming.get( pos ) ); assertTuple( TupleViews.createNarrow( pos, incoming ) ); }
@Test public void testHas() { assertEquals( "not equal: tuple.size()", 5, tuple.size() ); assertEquals( "not equal: tuple.get( 0 )", "a", tuple.get( fields, new Fields( "one" ) ).getObject( 0 ) ); assertEquals( "not equal: tuple.get( 1 )", "b", tuple.get( fields, new Fields( "two" ) ).getObject( 0 ) ); }
@Override public Tuple makeResult( Tuple input, Tuple output ) { return input.get( incomingFields, argumentsSelector ); } };
@Test public void testGetNull() { Tuple aTuple = tuple.get( (int[]) null ); assertEquals( "not equal: aTuple.size()", 5, aTuple.size() ); assertEquals( "not equal: aTuple.get( 0 )", "a", aTuple.getObject( 0 ) ); assertEquals( "not equal: aTuple.get( 1 )", "b", aTuple.getObject( 1 ) ); assertEquals( "not equal: tuple.size()", 5, tuple.size() ); assertEquals( "not equal: tuple.get( 0 )", "a", tuple.getObject( 0 ) ); assertEquals( "not equal: tuple.get( 1 )", "b", tuple.getObject( 1 ) ); }
@Override public Tuple2<Tuple, Tuple[]> map(Tuple tuple) throws Exception { if(keyFields == null) { out.f0 = empty; } else { out.f0 = tuple.get(schema, keyFields); } out.f1[initialPos] = tuple; return out; }
@Test public void testGet() { Tuple aTuple = tuple.get( new int[]{0} ); assertEquals( "not equal: aTuple.size()", 1, aTuple.size() ); assertEquals( "not equal: aTuple.get( 0 )", "a", aTuple.getObject( 0 ) ); assertEquals( "not equal: tuple.size()", 5, tuple.size() ); assertEquals( "not equal: tuple.get( 0 )", "a", tuple.getObject( 0 ) ); assertEquals( "not equal: tuple.get( 1 )", "b", tuple.getObject( 1 ) ); }
@Override public Tuple2<Tuple, Tuple[]> join(Tuple2<Tuple, Tuple[]> leftT, Tuple rightT) throws Exception { if(leftT == null) { outT.f0 = rightT.get(inputFields, keyFields); outT.f1[tupleListPos] = rightT; return outT; } else { leftT.f1[tupleListPos] = rightT; return leftT; } }
@Test public void testPut() { Fields aFields = new Fields( "one", "five" ); tuple.put( fields, aFields, new Tuple( "ten", "eleven" ) ); assertEquals( "not equal: tuple.size()", 5, tuple.size() ); assertEquals( "not equal: tuple.get( 0 )", "ten", tuple.getObject( 0 ) ); assertEquals( "not equal: tuple.get( 0 )", "ten", tuple.get( fields, new Fields( "one" ) ).getObject( 0 ) ); assertEquals( "not equal: tuple.get( 0 )", "eleven", tuple.getObject( 4 ) ); assertEquals( "not equal: tuple.get( 0 )", "eleven", tuple.get( fields, new Fields( "five" ) ).getObject( 0 ) ); }
@Override public Tuple3<Tuple, Integer, Tuple> map(Tuple value) throws Exception { if(keyPos.length > 0) { outT.f0 = value.get(keyPos); } else { outT.f0 = defaultKey; } outT.f2 = value; return outT; } }
@Test public void testSelectComplex() { Tuple tuple = new Tuple( "movie", "name1", "movie1", "rate1", "name2", "movie2", "rate2" ); Fields declarationA = new Fields( "movie", "name1", "movie1", "rate1", "name2", "movie2", "rate2" ); Fields selectA = new Fields( "movie", "name1", "rate1", "name2", "rate2" ); Tuple result = tuple.get( declarationA, selectA ); assertEquals( "not equal: ", 5, result.size() ); assertEquals( "not equal: ", "movie", result.getObject( 0 ) ); assertEquals( "not equal: ", "name1", result.getObject( 1 ) ); assertEquals( "not equal: ", "rate1", result.getObject( 2 ) ); assertEquals( "not equal: ", "name2", result.getObject( 3 ) ); assertEquals( "not equal: ", "rate2", result.getObject( 4 ) ); } }
@Test public void testGet() { Fields aFields = new Fields( "one" ); Tuple aTuple = tuple.get( fields, aFields ); assertEquals( "not equal: aTuple.size()", 1, aTuple.size() ); assertEquals( "not equal: aTuple.get( 0 )", "a", aTuple.getObject( 0 ) ); assertEquals( "not equal: tuple.size()", 5, tuple.size() ); assertEquals( "not equal: tuple.get( 0 )", "a", tuple.getObject( 0 ) ); assertEquals( "not equal: tuple.get( 1 )", "b", tuple.getObject( 1 ) ); }
@Override public Tuple makeResult( Tuple input, Tuple output ) { return input.get( incomingFields, remainderFields ).append( output ); } };
@Test public void testRemove() { Fields aFields = new Fields( "one" ); Tuple aTuple = tuple.remove( fields, aFields ); assertEquals( "not equal: aTuple.size()", 1, aTuple.size() ); assertEquals( "not equal: aTuple.get( 0 )", "a", aTuple.getObject( 0 ) ); fields = fields.subtract( aFields ); assertEquals( "not equal: tuple.size()", 4, tuple.size() ); assertEquals( "not equal: tuple.get( 0 )", "b", tuple.get( fields, new Fields( "two" ) ).getObject( 0 ) ); assertEquals( "not equal: tuple.get( 1 )", "c", tuple.get( fields, new Fields( "three" ) ).getObject( 0 ) ); }
@Override public boolean apply( Tuple tuple ) { for( Tuple skipTuple : skip ) { Tuple value = tuple.get( skipFields.getPos() ); if( value.equals( skipTuple ) ) { LOG.debug( "skipping: lhs: {}", tuple ); return false; } } return true; } } );
@Override public boolean apply( Tuple tuple ) { for( Tuple skipTuple : skip ) { Tuple value = tuple.get( skipFields.getPos() ); if( value.equals( skipTuple ) ) { LOG.debug( "skipping: rhs: {}", tuple ); return false; } } return true; } } );
private void useSize( TupleEntry input, TupleEntryCollector outputCollector ) { LOG.debug( "using size: {}", size ); Tuple tuple = new Tuple( input.getTuple() ); // make clone Tuple group = tuple.remove( input.getFields(), groupFieldSelector ); for( int i = 0; i < tuple.size(); i = i + size ) { Tuple result = new Tuple( group ); result.addAll( tuple.get( Fields.offsetSelector( size, i ).getPos() ) ); outputCollector.add( result ); } }
@Test public void testSelectorAll() { // if( getOutputSelector().isAll() ) // return inputEntry.getTuple().append( output ); Fields incomingFields = new Fields( "1", "2", "3", "4" ); Tuple incoming = new Tuple( 1, 2, 3, 4 ); Fields resultFields = new Fields( "5", "6", "7" ); Tuple result = new Tuple( 5, 6, 7 ); Tuple view = TupleViews.createComposite( incoming, result ); assertEquals( new Tuple( 1, 2, 3, 4, 5, 6, 7 ), view ); assertEquals( new Tuple( 1, 2, 3, 4, 5, 6, 7 ), new Tuple( view ) ); Fields allFields = Fields.join( incomingFields, resultFields ); Fields selector = new Fields( "3", "2" ); assertTuple( view.get( allFields, selector ) ); }