Examples of HqlParser


Examples of org.hibernate.hql.ast.origin.hql.parse.HQLParser

   * @throws ParsingException in case any exception occurs during parsing
   */
  public <T> T parseQuery(String queryString, AstProcessingChain<T> processingChain) throws ParsingException {
    HQLLexer lexer = new HQLLexer( new ANTLRStringStream( queryString ) );
    CommonTokenStream tokens = new CommonTokenStream( lexer );
    HQLParser parser = new HQLParser( tokens );

    try {
      // parser#statement() is the entry point for evaluation of any kind of statement
      HQLParser.statement_return r = parser.statement();

      if ( parser.hasErrors() ) {
        throw log.getInvalidQuerySyntaxException( queryString, parser.getErrorMessages() );
      }

      String unconsumedTokens = getUnconsumedTokens( tokens );
      if ( unconsumedTokens != null ) {
        throw log.getInvalidQuerySyntaxDueToUnconsumedTokensException( queryString, unconsumedTokens );
View Full Code Here

Examples of org.hibernate.hql.ast.origin.hql.parse.HQLParser

  private void assertTreeParsed(ParserContext context, String input, String treeExpectation) {
    HQLLexer lexed = new HQLLexer( new ANTLRStringStream( input ) );
    CommonTokenStream tokens = new CommonTokenStream( lexed );

    HQLParser parser = new HQLParser( tokens );
    if ( context != null ) {
      parser.setParserContext( context );
    }
    try {
      HQLParser.statement_return r = parser.statement();
      Assert.assertEquals( treeExpectation, ( (CommonTree) r.getTree() ).toStringTree() );
    }
    catch (RecognitionException e) {
      Assert.fail( e.getMessage() );
    }
View Full Code Here

Examples of org.hibernate.hql.ast.origin.hql.parse.HQLParser

  public static void main(String[] args) throws RecognitionException {
    String testCase = "select an.mother.id, max(an.bodyWeight) from Animal an group by an.mother.id having max(an.bodyWeight)>1.0";
    ANTLRStringStream antlrStream = new ANTLRStringStream( testCase );
    HQLLexer lexer = new HQLLexer( antlrStream );
    CommonTokenStream tokens = new CommonTokenStream( lexer );
    HQLParser parser = new HQLParser( tokens );
    statement_return statement = parser.statement();
    System.out.println( tokens.getTokens() );
    CommonTree tree = (CommonTree) statement.getTree();
    System.out.println( tree.toStringTree() );
  }
View Full Code Here

Examples of org.hibernate.hql.ast.origin.hql.parse.HQLParser

   * @throws ParsingException in case any exception occurs during parsing
   */
  public <T> T parseQuery(String queryString, AstProcessingChain<T> processingChain) throws ParsingException {
    HQLLexer lexer = new HQLLexer( new ANTLRStringStream( queryString ) );
    CommonTokenStream tokens = new CommonTokenStream( lexer );
    HQLParser parser = new HQLParser( tokens );

    try {
      // parser#statement() is the entry point for evaluation of any kind of statement
      HQLParser.statement_return r = parser.statement();

      if ( parser.hasErrors() ) {
        throw log.getInvalidQuerySyntaxException( queryString, parser.getErrorMessages() );
      }

      String unconsumedTokens = getUnconsumedTokens( tokens );
      if ( unconsumedTokens != null ) {
        throw log.getInvalidQuerySyntaxDueToUnconsumedTokensException( queryString, unconsumedTokens );
View Full Code Here

Examples of org.hibernate.hql.internal.ast.HqlParser

    if ( replacements == null ) {
      replacements = Collections.emptyMap();
    }

    // PHASE 1 : Parse the HQL into an AST.
    final HqlParser parser = parse( true );

    // PHASE 2 : Analyze the HQL AST, and produce an SQL AST.
    final HqlSqlWalker w = analyze( parser, replacements, collectionRole );

    return w.getSelectClause();
View Full Code Here

Examples of org.hibernate.hql.internal.ast.HqlParser

    return w;
  }

  private HqlParser parse(boolean filter) throws TokenStreamException, RecognitionException {
    // Parse the query string into an HQL AST.
    final HqlParser parser = HqlParser.getInstance( query );
    parser.setFilter( filter );

    parser.statement();

    final AST hqlAst = parser.getAST();

    final NodeTraverser walker = new NodeTraverser( new JavaConstantConverter() );
    walker.traverseDepthFirst( hqlAst );

    parser.getParseErrorHandler().throwQueryException();
    return parser;
  }
View Full Code Here

Examples of org.hibernate.hql.internal.ast.HqlParser

  public TypedQueryFactoryGenerator(EntityManager em, NamedQuery namedQuery) {
    this.jpaQuery = Assert.notNull(namedQuery.query());

    try {
      HqlParser parser = HqlParser.getInstance(jpaQuery);
      parser.statement();
      AST hqlAst = parser.getAST();

      if (logger.isDebugEnabled()) {
        logger.debug("First-level parse tree for " + namedQuery.name() + ":");
        parser.showAst(hqlAst, System.out);
      }

      SessionImplementor hibernateSession = em.unwrap(SessionImplementor.class);
      ASTQueryTranslatorFactory translatorFactory = new ASTQueryTranslatorFactory();
      query = (QueryTranslatorImpl) translatorFactory.createQueryTranslator(
View Full Code Here

Examples of org.hibernate.hql.internal.ast.HqlParser

    if ( replacements == null ) {
      replacements = Collections.emptyMap();
    }

    // PHASE 1 : Parse the HQL into an AST.
    final HqlParser parser = parse( true );

    // PHASE 2 : Analyze the HQL AST, and produce an SQL AST.
    final HqlSqlWalker w = analyze( parser, replacements, collectionRole );

    return w.getSelectClause();
View Full Code Here

Examples of org.hibernate.hql.internal.ast.HqlParser

    return w;
  }

  private HqlParser parse(boolean filter) throws TokenStreamException, RecognitionException {
    // Parse the query string into an HQL AST.
    final HqlParser parser = HqlParser.getInstance( query );
    parser.setFilter( filter );

    parser.statement();

    final AST hqlAst = parser.getAST();

    final NodeTraverser walker = new NodeTraverser( new JavaConstantConverter() );
    walker.traverseDepthFirst( hqlAst );

    parser.getParseErrorHandler().throwQueryException();
    return parser;
  }
View Full Code Here

Examples of org.hibernate.hql.internal.ast.HqlParser

  public TypedQueryFactoryGenerator(EntityManager em, NamedQuery namedQuery) {
    this.jpaQuery = Assert.notNull(namedQuery.query());

    try {
      HqlParser parser = HqlParser.getInstance(jpaQuery);
      parser.statement();
      AST hqlAst = parser.getAST();

      if (logger.isDebugEnabled()) {
        logger.debug("First-level parse tree for " + namedQuery.name() + ":");
        parser.showAst(hqlAst, System.out);
      }

      SessionImplementor hibernateSession = em.unwrap(SessionImplementor.class);
      ASTQueryTranslatorFactory translatorFactory = new ASTQueryTranslatorFactory();
      query = (QueryTranslatorImpl) translatorFactory.createQueryTranslator(
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.