use of edu.uci.ics.texera.api.exception.DataflowException in project textdb by TextDB.
the class RelationManager method getTableAnalyzer.
/**
* Gets the Lucene analyzer of a table.
*
* @param tableName, the name of the table, case insensitive
* @return
* @throws StorageException
*/
public Analyzer getTableAnalyzer(String tableName) throws StorageException {
String analyzerString = getTableAnalyzerString(tableName);
// convert a lucene analyzer string to an analyzer object
Analyzer luceneAnalyzer = null;
try {
luceneAnalyzer = LuceneAnalyzerConstants.getLuceneAnalyzer(analyzerString);
} catch (DataflowException e) {
throw new StorageException(e);
}
return luceneAnalyzer;
}
use of edu.uci.ics.texera.api.exception.DataflowException in project textdb by TextDB.
the class ScanBasedSourceOperator method open.
@Override
public void open() throws TexeraException {
if (isOpen) {
return;
}
try {
dataReader.open();
isOpen = true;
} catch (Exception e) {
throw new DataflowException(e.getMessage(), e);
}
}
use of edu.uci.ics.texera.api.exception.DataflowException in project textdb by TextDB.
the class TwitterFeedOperator method open.
@Override
public void open() throws TexeraException {
if (cursor != CLOSED) {
return;
}
try {
twitterConnector.getClient().connect();
cursor = OPENED;
} catch (Exception e) {
throw new DataflowException(e.getMessage(), e);
}
}
use of edu.uci.ics.texera.api.exception.DataflowException in project textdb by TextDB.
the class TwitterUtils method getPlaceLocation.
/**
* To track tweets inside a geoBox defined by a List</Location>.
* The string defines the coordinates in the order of "latitude_SW, longitude_SW, latitude_NE, longitude_NE".
*
* @param inputLocation
* @return
* @throws TexeraException
*/
public static List<Location> getPlaceLocation(String inputLocation) throws TexeraException {
List<Location> locationList = new ArrayList<>();
if (inputLocation == null || inputLocation.isEmpty()) {
return locationList;
}
List<String> boudingCoordinate = Arrays.asList(inputLocation.trim().split(","));
if (boudingCoordinate.size() != 4 || boudingCoordinate.stream().anyMatch(s -> s.trim().isEmpty())) {
throw new DataflowException("Please provide valid location coordinates");
}
List<Double> boundingBox = new ArrayList<>();
boudingCoordinate.stream().forEach(s -> boundingBox.add(Double.parseDouble(s.trim())));
locationList.add(new Location(new Coordinate(boundingBox.get(1), boundingBox.get(0)), new Coordinate(boundingBox.get(3), boundingBox.get(2))));
return locationList;
}
use of edu.uci.ics.texera.api.exception.DataflowException in project textdb by TextDB.
the class DataflowUtils method tokenizeQuery.
/**
* Tokenizes the query string using the given analyser
*
* @param luceneAnalyzer
* @param query
* @return ArrayList<String> list of results
*/
public static ArrayList<String> tokenizeQuery(Analyzer luceneAnalyzer, String query) {
ArrayList<String> result = new ArrayList<String>();
TokenStream tokenStream = luceneAnalyzer.tokenStream(null, new StringReader(query));
CharTermAttribute term = tokenStream.addAttribute(CharTermAttribute.class);
try {
tokenStream.reset();
while (tokenStream.incrementToken()) {
result.add(term.toString());
}
tokenStream.close();
} catch (IOException e) {
throw new DataflowException(e);
}
return result;
}
Aggregations