public Schema transformToOutputSchema(Schema... inputSchema) throws DataflowException { if (inputSchema == null || inputSchema.length == 0) { if (getOutputSchema() == null) { open(); close(); } return getOutputSchema(); } throw new TexeraException(ErrorMessages.INVALID_INPUT_SCHEMA_FOR_SOURCE); } }
public static boolean containedInSamplerTable(List<Tuple> sampleList) throws TexeraException { ScanBasedSourceOperator scanSource = new ScanBasedSourceOperator(new ScanSourcePredicate(SAMPLER_TABLE)); scanSource.open(); Tuple nextTuple = null; List<Tuple> returnedTuples = new ArrayList<Tuple>(); while ((nextTuple = scanSource.getNextTuple()) != null) { returnedTuples.add(nextTuple); } scanSource.close(); boolean contains = TestUtils.containsAll(returnedTuples, sampleList); return contains; }
public static boolean matchSamplerTable(List<Tuple> sampleList) throws TexeraException { ScanBasedSourceOperator scanSource = new ScanBasedSourceOperator(new ScanSourcePredicate(SAMPLER_TABLE)); scanSource.open(); ListIterator<Tuple> iter = null; iter = sampleList.listIterator(); while (iter.hasNext()) { Tuple nextTableTuple = scanSource.getNextTuple(); Tuple nextSampledTuple = iter.next(); if (!nextSampledTuple.equals(nextTableTuple)) { scanSource.close(); return false; } } scanSource.close(); return true; }
@Test public void testFlow() throws TexeraException, ParseException { List<Tuple> actualTuples = TestConstants.getSamplePeopleTuples(); ScanBasedSourceOperator scanBasedSourceOperator = new ScanBasedSourceOperator(new ScanSourcePredicate(PEOPLE_TABLE)); scanBasedSourceOperator.open(); Tuple nextTuple = null; int numTuples = 0; List<Tuple> returnedTuples = new ArrayList<Tuple>(); while ((nextTuple = scanBasedSourceOperator.getNextTuple()) != null) { returnedTuples.add(nextTuple); numTuples++; } Assert.assertEquals(actualTuples.size(), numTuples); boolean contains = TestUtils.equals(actualTuples, returnedTuples); Assert.assertTrue(contains); scanBasedSourceOperator.close(); }
@Test public void test8() throws TexeraException { String splitRegex = "ana"; String splitAttrName = TestConstantsRegexSplit.DESCRIPTION; List<Tuple> results = computeRegexSplitResultsOneToMany(REGEX_TABLE, splitAttrName, splitRegex, RegexSplitPredicate.SplitType.STANDALONE); ScanBasedSourceOperator scanSource = new ScanBasedSourceOperator(new ScanSourcePredicate(REGEX_TABLE)); Tuple tupleTable; scanSource.open(); while ((tupleTable = scanSource.getNextTuple()) != null) { for (Tuple tuple : results) { Assert.assertFalse(tuple.getField(SchemaConstants._ID).equals(tupleTable.getField(SchemaConstants._ID))); } } scanSource.close(); } }