/** * INTERNAL: * The reference class has been changed, need to reset the * descriptor. Null out the current descriptor and call * checkDescriptor * Added Feb 27, 2001 JED for EJBQL feature */ public void changeDescriptor(AbstractSession theSession) { setDescriptor(null); checkDescriptor(theSession); }
/** * INTERNAL: * The reference class has been changed, need to reset the * descriptor. Null out the current descriptor and call * checkDescriptor * Added Feb 27, 2001 JED for EJBQL feature */ public void changeDescriptor(AbstractSession theSession) { setDescriptor(null); checkDescriptor(theSession); }
/** * INTERNAL: * The reference class has been changed, need to reset the * descriptor. Null out the current descriptor and call * checkDescriptor * Added Feb 27, 2001 JED for EJBQL feature */ public void changeDescriptor(AbstractSession theSession) { setDescriptor(null); checkDescriptor(theSession); }
/** * INTERNAL: * Check to see if a custom query should be used for this query. * This is done before the query is copied and prepared/executed. Value of {@code null} means there is none. * @param session Current session. * @param translationRow Database record. * @return Custom database query or {@code null} when custom database query is not set. */ @Override protected DatabaseQuery checkForCustomQuery(final AbstractSession session, final AbstractRecord translationRow) { final Boolean useCustomQuery = checkCustomQueryFlag(session, translationRow); checkDescriptor(session); ObjectLevelReadQuery customQuery; if (useCustomQuery != null && useCustomQuery.booleanValue()) { customQuery = getReadQuery(); if (this.accessors != null) { customQuery = (ObjectLevelReadQuery) customQuery.clone(); customQuery.setIsExecutionClone(true); customQuery.setAccessors(this.accessors); } } else { customQuery = null; } isCustomQueryUsed = useCustomQuery; return customQuery; }
/** * INTERNAL: * ObjectLevelReadQueries now have an explicit pre-prepare stage, which * is for checking for pessimistic locking, and computing any joined * attributes declared on the descriptor. */ protected void checkPrePrepare(AbstractSession session) { // This query is first prepared for global common state, this must be synced. if (!this.isPrePrepared) {// Avoid the monitor is already prePrepare, must check again for concurrency. synchronized (this) { if (!isPrePrepared()) { AbstractSession alreadySetSession = getSession(); setSession(session);// Session is required for some init stuff. prePrepare(); setSession(alreadySetSession); setIsPrePrepared(true);// MUST not set prepare until done as other thread may hit before finishing the prePrepare. } } } else { // Must always check descriptor as transient for remote. checkDescriptor(session); } }
objectQuery.checkDescriptor(activeSession); ClassDescriptor descriptor = objectQuery.getDescriptor(); Expression expression = objectQuery.getExpressionBuilder();
olrq.checkDescriptor(activeSession); ClassDescriptor descriptor = olrq.getDescriptor(); Expression expression = olrq.getExpressionBuilder();
olrq.checkDescriptor(activeSession); ClassDescriptor descriptor = olrq.getDescriptor(); Expression expression = olrq.getExpressionBuilder();
/** * INTERNAL: * In the case of EJBQL or query by example, an expression needs to be * generated. Build the required expression. */ public void buildSelectionCriteria(AbstractSession session) { if (isParsed() || (getExampleObject() == null)) { return; } ObjectLevelReadQuery query = (ObjectLevelReadQuery)getQuery(); query.checkDescriptor(session); QueryByExamplePolicy policy = getQueryByExamplePolicy(); if (policy == null) { policy = new QueryByExamplePolicy(); } if (query.getReferenceClass().isInstance(getExampleObject())) { Expression exampleExpression = query.getDescriptor().getObjectBuilder().buildExpressionFromExample(getExampleObject(), policy, query.getExpressionBuilder(), new IdentityHashMap(), session); if (getSelectionCriteria() != null) { setSelectionCriteria(getSelectionCriteria().and(exampleExpression)); } else { setSelectionCriteria(exampleExpression); } } else { throw QueryException.exampleAndReferenceObjectClassMismatch(getExampleObject().getClass(), query.getReferenceClass(), query); } setIsParsed(true); }
/** * INTERNAL: * In the case of EJBQL or query by example, an expression needs to be * generated. Build the required expression. */ public void buildSelectionCriteria(AbstractSession session) { if (isParsed() || (getExampleObject() == null)) { return; } ObjectLevelReadQuery query = (ObjectLevelReadQuery)getQuery(); query.checkDescriptor(session); QueryByExamplePolicy policy = getQueryByExamplePolicy(); if (policy == null) { policy = new QueryByExamplePolicy(); } if (query.getReferenceClass().isInstance(getExampleObject())) { Expression exampleExpression = query.getDescriptor().getObjectBuilder().buildExpressionFromExample(getExampleObject(), policy, query.getExpressionBuilder(), new IdentityHashMap(), session); if (getSelectionCriteria() != null) { setSelectionCriteria(getSelectionCriteria().and(exampleExpression)); } else { setSelectionCriteria(exampleExpression); } } else { throw QueryException.exampleAndReferenceObjectClassMismatch(getExampleObject().getClass(), query.getReferenceClass(), query); } setIsParsed(true); }
/** * INTERNAL: * In the case of EJBQL or query by example, an expression needs to be * generated. Build the required expression. */ public void buildSelectionCriteria(AbstractSession session) { if (isParsed() || (getExampleObject() == null)) { return; } ObjectLevelReadQuery query = (ObjectLevelReadQuery)getQuery(); query.checkDescriptor(session); QueryByExamplePolicy policy = getQueryByExamplePolicy(); if (policy == null) { policy = new QueryByExamplePolicy(); } if (query.getReferenceClass().isInstance(getExampleObject())) { Expression exampleExpression = query.getDescriptor().getObjectBuilder().buildExpressionFromExample(getExampleObject(), policy, query.getExpressionBuilder(), new IdentityHashMap(), session); if (getSelectionCriteria() != null) { setSelectionCriteria(getSelectionCriteria().and(exampleExpression)); } else { setSelectionCriteria(exampleExpression); } } else { throw QueryException.exampleAndReferenceObjectClassMismatch(getExampleObject().getClass(), query.getReferenceClass(), query); } setIsParsed(true); }
checkDescriptor(this.session);