Package org.apache.openjpa.kernel

Examples of org.apache.openjpa.kernel.PreparedQuery


    public OpenJPAQuery createQuery(String language, String query) {
        assertNotCloseInvoked();
        try {
            String qid = query;
            PreparedQuery pq = JPQLParser.LANG_JPQL.equals(language)
                ? getPreparedQuery(qid) : null;
            org.apache.openjpa.kernel.Query q = (pq == null || !pq.isInitialized())
                ? _broker.newQuery(language, query)
                : _broker.newQuery(pq.getLanguage(), pq);
            // have to validate JPQL according to spec
            if (pq == null && JPQLParser.LANG_JPQL.equals(language))
                q.compile();
            if (pq != null) {
                pq.setInto(q);
            }
            return new QueryImpl(this, _ret, q).setId(qid);
        } catch (RuntimeException re) {
            throw PersistenceExceptions.toPersistenceException(re);
        }
View Full Code Here


            QueryMetaData meta = _broker.getConfiguration().
                getMetaDataRepositoryInstance().getQueryMetaData(null, name,
                _broker.getClassLoader(), true);
            String qid = meta.getQueryString();
           
            PreparedQuery pq = JPQLParser.LANG_JPQL.equals(meta.getLanguage())
                ? getPreparedQuery(qid) : null;
            org.apache.openjpa.kernel.Query del = (pq == null || !pq.isInitialized())
                ? _broker.newQuery(meta.getLanguage(), meta.getQueryString())
                : _broker.newQuery(pq.getLanguage(), pq);
           
            if (pq != null) {
                pq.setInto(del);
            } else {
                meta.setInto(del);
                del.compile();
            }
           
View Full Code Here

 
  protected void setUp() throws Exception {
    super.setUp();
    cache = new PreparedQueryCacheImpl();
    for (int i = 0; i < keys.length; i++) {
            PreparedQuery p = new PreparedQueryImpl(keys[i], values[i], null);
      cache.cache(p);
    }
  }
View Full Code Here

 
  public void testAddExclusionPatternDisallowsCacheing() {
    int EXCLUDED = 1;
    cache.addExclusionPattern(keys[EXCLUDED]);
   
        PreparedQuery p = new PreparedQueryImpl(keys[EXCLUDED],
                values[EXCLUDED], null);
        assertFalse("Must not cache excluded key " + keys[EXCLUDED],
                cache.cache(p));
  }
View Full Code Here

 
  public void testRemoveExclusionPatternAllowsCacheing() {
    int EXCLUDED = 1;
    cache.addExclusionPattern(keys[EXCLUDED]);
   
        PreparedQuery p = new PreparedQueryImpl(keys[EXCLUDED],
                values[EXCLUDED], null);
        assertFalse("Must not cache excluded key " + keys[EXCLUDED],
                cache.cache(p));
   
    cache.removeExclusionPattern(keys[EXCLUDED]);
View Full Code Here

  public void testRemoveExclusionPatternDoesNotRemoveUserProhbitedKeys() {
    String USER_MARKED_UNCACHABLE = "[user prohibited]";
    cache.markUncachable(USER_MARKED_UNCACHABLE,
            new PreparedQueryCacheImpl.StrongExclusion(USER_MARKED_UNCACHABLE,"for testing"));
   
        PreparedQuery p = new PreparedQueryImpl(USER_MARKED_UNCACHABLE, "xyz",
                null);
    assertFalse("Must not cache user-prohibited key " +
        USER_MARKED_UNCACHABLE, cache.cache(p));
   
    cache.removeExclusionPattern(USER_MARKED_UNCACHABLE);
View Full Code Here

            // We need
            if (query != null && _convertPositionalParams && JPQLParser.LANG_JPQL.equals(language)) {
                query = query.replaceAll("[\\?]", "\\:_");
            }
            String qid = query;
            PreparedQuery pq = JPQLParser.LANG_JPQL.equals(language)
                ? getPreparedQuery(qid) : null;
            org.apache.openjpa.kernel.Query q = (pq == null || !pq.isInitialized())
                ? _broker.newQuery(language, query)
                : _broker.newQuery(pq.getLanguage(), pq);
            // have to validate JPQL according to spec
            if (pq == null && JPQLParser.LANG_JPQL.equals(language))
                q.compile();
            if (pq != null) {
                pq.setInto(q);
            }
            return newQueryImpl(q, null).setId(qid);
        } catch (RuntimeException re) {
            throw PersistenceExceptions.toPersistenceException(re);
        }
View Full Code Here

            QueryMetaData meta = _broker.getConfiguration().
                getMetaDataRepositoryInstance().getQueryMetaData(null, name,
                _broker.getClassLoader(), true);
            String qid = meta.getQueryString();
           
            PreparedQuery pq = JPQLParser.LANG_JPQL.equals(meta.getLanguage()) ? getPreparedQuery(qid) : null;
            org.apache.openjpa.kernel.Query del =
                (pq == null || !pq.isInitialized()) ? _broker.newQuery(meta.getLanguage(), meta.getQueryString())
                    : _broker.newQuery(pq.getLanguage(), pq);
           
            if (pq != null) {
                pq.setInto(del);
            } else {
                meta.setInto(del);
                del.compile();
            }
           
View Full Code Here

 
  public void testPreparedQueryIdentifierIsOriginalJPQLQuery() {
        String jpql = "select p from Company p";
        OpenJPAQuery<?> q1 = em.createQuery(jpql);
        q1.getResultList();
        PreparedQuery pq = getPreparedQueryCache().get(jpql);
        assertNotNull(pq);
        assertEquals(jpql, pq.getIdentifier());
        assertEquals(jpql, pq.getOriginalQuery());
  }
View Full Code Here

        Boolean registered = cache.register(_id, _query, fetch);
        boolean alreadyCached = (registered == null);
        String lang = _query.getLanguage();
        QueryStatistics<String> stats = cache.getStatistics();
        if (alreadyCached && LANG_PREPARED_SQL.equals(lang)) {
            PreparedQuery pq = _em.getPreparedQuery(_id);
            if (pq.isInitialized()) {
                try {
                    Map rep = pq.reparametrize(params, _em.getBroker());
                    params.clear();
                    params.putAll(rep);
                } catch (UserException ue) {
                    invalidatePreparedQuery();
                    Log log = _em.getConfiguration().getLog(OpenJPAConfiguration.LOG_RUNTIME);
                    if (log.isWarnEnabled())
                        log.warn(ue.getMessage());
                    return false;
                }
            }
            stats.recordExecution(pq.getOriginalQuery());
        } else {
            stats.recordExecution(getQueryString());
        }
        return registered == Boolean.TRUE;
    }
View Full Code Here

TOP

Related Classes of org.apache.openjpa.kernel.PreparedQuery

Copyright © 2018 www.massapicom. 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.