public OSQLFilter(final String iText, final OCommandContext iContext, final String iFilterKeyword) { super(); if (iText == null) { throw new IllegalArgumentException("Filter expression is null"); } context = iContext; parserText = iText; parserTextUpperCase = iText.toUpperCase(Locale.ENGLISH); try { final int lastPos = parserGetCurrentPosition(); final String lastText = parserText; final String lastTextUpperCase = parserTextUpperCase; text(parserText.substring(lastPos)); parserText = lastText; parserTextUpperCase = lastTextUpperCase; parserMoveCurrentPosition(lastPos); } catch (OQueryParsingException e) { if (e.getText() == null) // QUERY EXCEPTION BUT WITHOUT TEXT: NEST IT { throw OException.wrapException( new OQueryParsingException("Error on parsing query", parserText, parserGetCurrentPosition()), e); } throw e; } catch (Exception e) { throw OException.wrapException(new OQueryParsingException("Error on parsing query", parserText, parserGetCurrentPosition()), e); } this.rootCondition = resetOperatorPrecedence(rootCondition); }
public OSQLTarget(final String iText, final OCommandContext iContext) { super(); context = iContext; parserText = iText; parserTextUpperCase = upperCase(iText); try { empty = !extractTargets(); } catch (OQueryParsingException e) { if (e.getText() == null) // QUERY EXCEPTION BUT WITHOUT TEXT: NEST IT throw OException.wrapException( new OQueryParsingException("Error on parsing query", parserText, parserGetCurrentPosition()), e); throw e; } catch(OCommandExecutionException ex){ throw ex; }catch (Exception e) { throw OException.wrapException(new OQueryParsingException("Error on parsing query", parserText, parserGetCurrentPosition()), e); } }
public OSQLPredicate text(final String iText) { if (iText == null) throw new OCommandSQLParsingException("Query text is null"); try { parserText = iText; parserTextUpperCase = upperCase(parserText); parserSetCurrentPosition(0); parserSkipWhiteSpaces(); rootCondition = (OSQLFilterCondition) extractConditions(null); optimize(); } catch (OQueryParsingException e) { if (e.getText() == null) // QUERY EXCEPTION BUT WITHOUT TEXT: NEST IT throw OException.wrapException( new OQueryParsingException("Error on parsing query", parserText, parserGetCurrentPosition()), e); throw e; } catch (Exception t) { throw OException.wrapException(new OQueryParsingException("Error on parsing query", parserText, parserGetCurrentPosition()), t); } return this; }