use of edu.uci.ics.texera.dataflow.source.tuple.TupleSourceOperator in project textdb by TextDB.
the class NltkSentimentOperatorTest method test2.
/*
* Test sentiment test result should be negative
*/
@Test
public void test2() throws TexeraException {
TupleSourceOperator tupleSource = new TupleSourceOperator(Arrays.asList(NltkSentimentTestConstants.NEGATIVE_TUPLE), NlpSentimentTestConstants.SENTIMENT_SCHEMA);
NltkSentimentOperator nltkSentimentOperator = new NltkSentimentOperator(new NltkSentimentOperatorPredicate(NltkSentimentTestConstants.TEXT, "sentiment", BATCH_SIZE, MODEL_FILE_NAME));
TupleSink tupleSink = new TupleSink();
nltkSentimentOperator.setInputOperator(tupleSource);
tupleSink.setInputOperator(nltkSentimentOperator);
tupleSink.open();
List<Tuple> results = tupleSink.collectAllTuples();
tupleSink.close();
Tuple tuple = results.get(0);
Assert.assertEquals(tuple.getField("sentiment").getValue(), SentimentConstants.NEGATIVE);
}
use of edu.uci.ics.texera.dataflow.source.tuple.TupleSourceOperator in project textdb by TextDB.
the class NlpSplitTest method test2.
@Test
public void test2() throws TexeraException, ParseException {
TupleSourceOperator tupleSource = new TupleSourceOperator(NlpSplitTestConstants.getOneToManyTestTuple(), NlpSplitTestConstants.SPLIT_SCHEMA);
NlpSplitOperator sentence_list = new NlpSplitOperator(new NlpSplitPredicate(NLPOutputType.ONE_TO_MANY, NlpSplitTestConstants.TEXT, PropertyNameConstants.NLP_OUTPUT_TYPE));
TupleSink tupleSink = new TupleSink();
sentence_list.setInputOperator(tupleSource);
tupleSink.setInputOperator(sentence_list);
tupleSink.open();
List<Tuple> results = tupleSink.collectAllTuples();
tupleSink.close();
Assert.assertTrue(TestUtils.equals(NlpSplitTestConstants.getOneToManyResultTuple(), results));
Set<IDField> compset = new HashSet<IDField>();
for (Tuple result : results) {
Assert.assertFalse(compset.contains(result.getField(SchemaConstants._ID)));
compset.add(result.getField(SchemaConstants._ID));
}
}
use of edu.uci.ics.texera.dataflow.source.tuple.TupleSourceOperator in project textdb by TextDB.
the class NlpSplitTest method test1.
@Test
public void test1() throws TexeraException, ParseException {
TupleSourceOperator tupleSource = new TupleSourceOperator(NlpSplitTestConstants.getOneToOneTestTuple(), NlpSplitTestConstants.SPLIT_SCHEMA);
NlpSplitOperator sentence_list = new NlpSplitOperator(new NlpSplitPredicate(NLPOutputType.ONE_TO_ONE, NlpSplitTestConstants.TEXT, SchemaConstants.SPAN_LIST));
TupleSink tupleSink = new TupleSink();
sentence_list.setInputOperator(tupleSource);
tupleSink.setInputOperator(sentence_list);
tupleSink.open();
List<Tuple> results = tupleSink.collectAllTuples();
tupleSink.close();
Assert.assertTrue(TestUtils.equals(NlpSplitTestConstants.getOneToOneResultTuple(), results));
}
use of edu.uci.ics.texera.dataflow.source.tuple.TupleSourceOperator in project textdb by TextDB.
the class DownloadFileResource method downloadExcelFile.
@GET
@Path("/result")
public Response downloadExcelFile(@QueryParam("resultID") String resultID) throws JsonParseException, JsonMappingException, IOException {
java.nio.file.Path resultFile = QueryPlanResource.resultDirectory.resolve(resultID + ".json");
if (Files.notExists(resultFile)) {
System.out.println(resultFile + " file does not found");
return Response.status(Status.NOT_FOUND).build();
}
ArrayList<Tuple> result = new ObjectMapper().readValue(Files.readAllBytes(resultFile), TypeFactory.defaultInstance().constructCollectionLikeType(ArrayList.class, Tuple.class));
if (result.size() == 0) {
System.out.println(resultFile + " file is empty");
return Response.status(Status.NOT_FOUND).build();
}
TupleSourceOperator tupleSource = new TupleSourceOperator(result, result.get(0).getSchema());
ExcelSink excelSink = new ExcelSinkPredicate().newOperator();
excelSink.setInputOperator(tupleSource);
excelSink.open();
excelSink.collectAllTuples();
excelSink.close();
StreamingOutput fileStream = new StreamingOutput() {
@Override
public void write(OutputStream output) throws IOException, WebApplicationException {
byte[] data = Files.readAllBytes(excelSink.getFilePath());
output.write(data);
output.flush();
}
};
return Response.ok(fileStream, MediaType.APPLICATION_OCTET_STREAM).header("content-disposition", "attachment; filename=result.xlsx").build();
}
use of edu.uci.ics.texera.dataflow.source.tuple.TupleSourceOperator in project textdb by TextDB.
the class EmojiSentimentTest method test1.
@Test
public void test1() throws TexeraException {
TupleSourceOperator tupleSource = new TupleSourceOperator(Arrays.asList(EmojiSentimentTestConstants.POSITIVE_TUPLE1), EmojiSentimentTestConstants.SENTIMENT_SCHEMA);
EmojiSentimentOperator sentiment = new EmojiSentimentOperator(new EmojiSentimentPredicate(EmojiSentimentTestConstants.TEXT, "sentiment"));
TupleSink tupleSink = new TupleSink();
sentiment.setInputOperator(tupleSource);
tupleSink.setInputOperator(sentiment);
tupleSink.open();
List<Tuple> results = tupleSink.collectAllTuples();
tupleSink.close();
Tuple tuple = results.get(0);
Assert.assertEquals(tuple.getField("sentiment").getValue(), SentimentConstants.POSITIVE);
}
Aggregations