use of edu.uci.ics.texera.dataflow.source.scan.ScanBasedSourceOperator in project textdb by TextDB.
the class RegexMatcherTestHelper method getScanSourceResults.
public static List<Tuple> getScanSourceResults(String tableName, String regex, List<String> attributeNames, int limit, int offset) throws TexeraException {
ScanBasedSourceOperator scanSource = new ScanBasedSourceOperator(new ScanSourcePredicate(tableName));
RegexPredicate regexPredicate = new RegexPredicate(regex, attributeNames, RESULTS);
RegexMatcher regexMatcher = new RegexMatcher(regexPredicate);
regexMatcher.setLimit(limit);
regexMatcher.setOffset(offset);
regexMatcher.setInputOperator(scanSource);
Tuple tuple;
List<Tuple> results = new ArrayList<>();
regexMatcher.open();
while ((tuple = regexMatcher.getNextTuple()) != null) {
results.add(tuple);
}
regexMatcher.close();
return results;
}
use of edu.uci.ics.texera.dataflow.source.scan.ScanBasedSourceOperator in project textdb by TextDB.
the class RegexSplitOperatorTest method computeRegexSplitResultsOnetoOne.
public static List<Tuple> computeRegexSplitResultsOnetoOne(String tableName, String splitAttrName, String splitRegex, RegexSplitPredicate.SplitType splitType) throws TexeraException {
ScanBasedSourceOperator scanSource = new ScanBasedSourceOperator(new ScanSourcePredicate(tableName));
RegexSplitOperator regexSplit = new RegexSplitOperator(new RegexSplitPredicate(RegexOutputType.ONE_TO_ONE, splitRegex, splitAttrName, splitType, RESULT_ATTR));
regexSplit.setInputOperator(scanSource);
List<Tuple> results = new ArrayList<>();
regexSplit.open();
Tuple tuple;
while ((tuple = regexSplit.getNextTuple()) != null) {
results.add(tuple);
}
regexSplit.close();
return results;
}
use of edu.uci.ics.texera.dataflow.source.scan.ScanBasedSourceOperator in project textdb by TextDB.
the class RegexSplitOperatorTest method test8.
/*
* ID test: To test if each newly-split tuple's ID has conflict with the old tuple.
*/
@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();
}
use of edu.uci.ics.texera.dataflow.source.scan.ScanBasedSourceOperator in project textdb by TextDB.
the class RegexSplitOperatorTest method computeRegexSplitResultsOneToMany.
public static List<Tuple> computeRegexSplitResultsOneToMany(String tableName, String splitAttrName, String splitRegex, RegexSplitPredicate.SplitType splitType) throws TexeraException {
ScanBasedSourceOperator scanSource = new ScanBasedSourceOperator(new ScanSourcePredicate(tableName));
RegexSplitOperator regexSplit = new RegexSplitOperator(new RegexSplitPredicate(RegexOutputType.ONE_TO_MANY, splitRegex, splitAttrName, splitType, RESULT_ATTR));
regexSplit.setInputOperator(scanSource);
List<Tuple> results = new ArrayList<>();
regexSplit.open();
Tuple tuple;
while ((tuple = regexSplit.getNextTuple()) != null) {
results.add(tuple);
}
regexSplit.close();
return results;
}
Aggregations