1 16 package org.outerj.daisy.query; 17 18 import org.outerj.daisy.query.model.PredicateExpr; 19 import org.outerj.daisy.query.model.Query; 20 import org.outerj.daisy.repository.query.QueryException; 21 22 import java.io.StringReader ; 23 24 28 public class QueryFactoryImpl implements QueryFactory { 29 public PredicateExpr parsePredicateExpression(String expression) throws QueryException { 30 QueryParser qp = new QueryParser(new StringReader (expression)); 31 PredicateExpr predicateExpr; 32 try { 33 predicateExpr = qp.standAloneWhereClause(); 34 } catch (TokenMgrError e) { 35 throw new QueryException("Error parsing expression.", e); 36 } catch (ParseException e) { 37 throw new QueryException("Error parsing expression.", e); 38 } 39 return predicateExpr; 40 } 41 42 public Query parseQuery(String queryString) throws QueryException { 43 QueryParser qp = new QueryParser(new StringReader (queryString)); 44 Query query; 45 try { 46 query = qp.query(); 47 } catch (TokenMgrError e) { 48 throw new QueryException("Error parsing expression.", e); 49 } catch (ParseException e) { 50 throw new QueryException("Error parsing expression.", e); 51 } 52 return query; 53 } 54 } 55 | Popular Tags |