Examples of PBCapsule


Examples of org.apache.ojb.odmg.PBCapsule

        if (log.isDebugEnabled()) log.debug("Start execute query");

        //obtain current ODMG transaction
        Transaction tx = TxManagerFactory.instance().getTransaction();
        // create PBCapsule
        PBCapsule capsule = null;
        ManageableCollection result = null;

        try
        {
            capsule = new PBCapsule(pbKey, tx);
            PersistenceBroker broker = capsule.getBroker();

            // ask the broker to perfom the query.
            // the concrete result type is configurable

            if (!(query instanceof ReportQuery))
            {
                result = broker.getCollectionByQuery(this.getCollectionClass(), query);
                performLockingIfRequired(tx, broker, result);
            }
            else
            {
                Iterator iter = null;
                result = new ManageableArrayList();
                iter = broker.getReportQueryIteratorByQuery(query);
                try
                {
                    while (iter.hasNext())
                    {
                        Object[] res = (Object[]) iter.next();

                        if (res.length == 1)
                        {
                            if (res[0] != null) // skip null values
                            {
                                result.ojbAdd(res[0]);
                            }
                        }
                        else
                        {
                            // skip null tuples
                            for (int i = 0; i < res.length; i++)
                            {
                                if (res[i] != null)
                                {
                                    result.ojbAdd(res);
                                    break;
                                }
                            }
                        }
                    }
                }
                finally
                {
                    if (iter instanceof OJBIterator)
                    {
                        ((OJBIterator) iter).releaseDbResources();
                    }
                }
            }
            // reset iterator to start of list so we can reuse this query
            ListIterator it = getBindIterator();
            while (it.hasPrevious())
            {
                it.previous();
            }
        }
        finally
        {
            if (capsule != null) capsule.destroy();
        }
        return result;
    }
View Full Code Here

Examples of org.apache.ojb.odmg.PBCapsule

        if (keyRealSubject == null)
        {
            try
            {
                PBCapsule capsule = new PBCapsule(pbKey, TxManagerFactory.instance().getTransaction());
                keyRealSubject = capsule.getBroker().getObjectByIdentity(keyOID);
                capsule.destroy();
            }
            catch (Exception e)
            {
                log.error("Could not materialize key with keyOID " + keyOID, e);
            }
View Full Code Here

Examples of org.apache.ojb.odmg.PBCapsule

        if (valueRealSubject == null)
        {
            try
            {
                PBCapsule capsule = new PBCapsule(pbKey, TxManagerFactory.instance().getTransaction());
                valueRealSubject = capsule.getBroker().getObjectByIdentity(valueOID);
                capsule.destroy();
            }
            catch (Exception e)
            {
                log.error("Could not materialize value with valueOID " + valueOID, e);
            }
View Full Code Here

Examples of org.apache.ojb.odmg.PBCapsule

    /**
     * return a unique id
     */
    protected int generateNewId()
    {
        PBCapsule capsule = new PBCapsule(pbKey, TxManagerFactory.instance().getTransaction());
        try
        {
            PersistenceBroker broker = capsule.getBroker();
            FieldDescriptor fld = broker.getClassDescriptor(this.getClass()).getAutoIncrementFields()[0];
            Integer val = (Integer) broker.serviceSequenceManager().getUniqueValue(fld);

            int result = val.intValue();
            return result;
        }
        catch (Exception e)
        {
            LoggerFactory.getDefaultLogger().error("DListEntry: Generation of new id failed", e);
            throw new PersistenceBrokerException(e);
        }
        finally
        {
            capsule.destroy();
        }
    }
View Full Code Here

Examples of org.apache.ojb.odmg.PBCapsule

    /**
     * retrieve the real subject from the underlying RDBMS
     */
    private void materializeRealSubject() throws PersistenceBrokerException
    {
        PBCapsule capsule = new PBCapsule(pbKey, TxManagerFactory.instance().getTransaction());
        try
        {
            realSubject = capsule.getBroker().getObjectByIdentity(oid);
        }
        finally
        {
            if(capsule != null) capsule.destroy();
        }
    }
View Full Code Here

Examples of org.apache.ojb.odmg.PBCapsule

        Query pQ = ((OQLQueryImpl) predicateQuery).getQuery();
        Criteria pCrit = pQ.getCriteria();

        Transaction tx = TxManagerFactory.instance().getTransaction();
        if (tx == null) throw new QueryInvalidException("Need running transaction to do query");
        PBCapsule handle = new PBCapsule(pbKey, tx);
        DList result;
        try
        {
            PersistenceBroker broker = handle.getBroker();
            Criteria allElementsCriteria = this.getPkCriteriaForAllElements(broker);
            // join selection of elements with predicate criteria:
            allElementsCriteria.addAndCriteria(pCrit);

            Class clazz = null;
            try
            {
                clazz = this.getElementsExtentClass(broker);
            }
            catch (PersistenceBrokerException e)
            {
                throw new ODMGRuntimeException(e.getMessage());
            }
            Query q = new QueryByCriteria(clazz, allElementsCriteria);
            if (getLog().isDebugEnabled()) getLog().debug(q.toString());

            result = null;
            try
            {
                result = (DList) broker.getCollectionByQuery(DListImpl_2.class, q);
            }
            catch (PersistenceBrokerException e)
            {
                getLog().error("Query failed", e);
                throw new OJBRuntimeException(e);
            }
        }
        finally
        {
            // cleanup stuff
            if (handle != null) handle.destroy();
        }

        // 3. return resulting collection
        return result;
View Full Code Here

Examples of org.apache.ojb.odmg.PBCapsule

    /**
     * return a unique id for PK
     */
    protected int generateNewId()
    {
        PBCapsule capsule = new PBCapsule(null, TxManagerFactory.instance().getTransaction());
        try
        {
            PersistenceBroker broker = capsule.getBroker();
            FieldDescriptor fld = broker.getClassDescriptor(this.getClass()).getAutoIncrementFields()[0];
            Integer val = (Integer) broker.serviceSequenceManager().getUniqueValue(fld);
            int result = val.intValue();
            return result;
        }
        catch (Exception e)
        {
            log.error("Generation of new id failed", e);
            throw new PersistenceBrokerException(e);
        }
        finally
        {
            capsule.destroy();
        }
    }
View Full Code Here

Examples of org.apache.ojb.odmg.PBCapsule

        OQLQuery predicateQuery = new OQLQueryImpl(pbKey, this.getClass());
        predicateQuery.create(oql);
        Query pQ = ((OQLQueryImpl) predicateQuery).getQuery();
        Criteria pCrit = pQ.getCriteria();

        PBCapsule handle = new PBCapsule(pbKey, TxManagerFactory.instance().getTransaction());
        DList result;

        try
        {
            PersistenceBroker broker = handle.getBroker();

            Criteria allElementsCriteria = this.getPkCriteriaForAllElements(broker);
            // join selection of elements with predicate criteria:
            allElementsCriteria.addAndCriteria(pCrit);

            Class clazz = null;
            try
            {
                clazz = this.getElementsExtentClass(broker);
            }
            catch (PersistenceBrokerException e)
            {
                throw new ODMGRuntimeException(e.getMessage());
            }
            Query q = new QueryByCriteria(clazz, allElementsCriteria);
            if (log.isDebugEnabled()) log.debug(q.toString());

            result = null;
            try
            {
                result = (DListImpl) broker.getCollectionByQuery(DListImpl.class, q);
            }
            catch (PersistenceBrokerException e)
            {
                log.error("Query failed", e);
                throw new OJBRuntimeException(e);
            }
        }
        finally
        {
            // cleanup stuff
            if (handle != null) handle.destroy();
        }

        // 3. return resulting collection
        return result;
View Full Code Here

Examples of org.apache.ojb.odmg.PBCapsule

    /**
     * return a unique id
     */
    protected int generateNewId()
    {
        PBCapsule capsule = new PBCapsule(null, TxManagerFactory.instance().getTransaction());
        try
        {
            PersistenceBroker broker = capsule.getBroker();
            FieldDescriptor fld = broker.getClassDescriptor(this.getClass()).getAutoIncrementFields()[0];
            Integer val = (Integer) broker.serviceSequenceManager().getUniqueValue(fld);

            int result = val.intValue();
            return result;
        }
        catch (Exception e)
        {
            LoggerFactory.getDefaultLogger().error("DMapImpl: Generation of new id failed", e);
            throw new PersistenceBrokerException(e);
        }
        finally
        {
            capsule.destroy();
        }
    }
View Full Code Here

Examples of org.apache.ojb.odmg.PBCapsule

    /**
     * return a unique id for PK
     */
    protected int generateNewId()
    {
        PBCapsule capsule = new PBCapsule(null, TxManagerFactory.instance().getTransaction());
        try
        {
            PersistenceBroker broker = capsule.getBroker();
            FieldDescriptor fld = broker.getClassDescriptor(this.getClass()).getAutoIncrementFields()[0];
            Integer val = (Integer) broker.serviceSequenceManager().getUniqueValue(fld);
            int result = val.intValue();
            return result;
        }
        catch (Exception e)
        {
            log.error("Generation of new id failed", e);
            throw new PersistenceBrokerException(e);
        }
        finally
        {
            capsule.destroy();
        }
    }
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.