Package org.apache.ojb.broker

Examples of org.apache.ojb.broker.Identity


        }

        if (addListeners)
        {
            lockForListeners = LockManager.getInstance().getLockHeld(
                    new Identity(obj, _pb), _tx);
        }

        fields[0] = obj.getClass(); // we must notice if the object class changes
        count++;

        for (int i = 0; i < fieldDescs.length; i++)
        {
            FieldDescriptor fd = fieldDescs[i];
            PersistentField f = fd.getPersistentField();
            fields[count] = f.get(obj);
            count++;
        }

        int countRefs = 0;
        for (Iterator it = refDescs.iterator(); it.hasNext(); count++, countRefs++)
        {
            ObjectReferenceDescriptor rds = (ObjectReferenceDescriptor) it.next();
            PersistentField f = rds.getPersistentField();
            Object relObj = f.get(obj);
            if (relObj != null)
            {
                fields[count] = new Identity(relObj, _pb);
                if (withObjects)
                {
                    references[countRefs] = relObj;
                }
            }
        }

        count = 0;
        for (Iterator it = colDescs.iterator(); it.hasNext(); count++)
        {
            CollectionDescriptor cds = (CollectionDescriptor) it.next();
            PersistentField f = cds.getPersistentField();
            Class type = f.getType();
            Object col = f.get(obj);

            if ((col != null) && (col instanceof CollectionProxyDefaultImpl)
                    && !((CollectionProxyDefaultImpl) col).isLoaded())
            {
                if (addListeners)
                {
                    OTMCollectionProxyListener listener =
                            new OTMCollectionProxyListener(cds, collections,
                                                           count, lockForListeners);

                    ((CollectionProxyDefaultImpl) col).addListener(listener);
                    if (_colProxyListeners == null)
                    {
                        _colProxyListeners = new HashMap();
                    }
                    _colProxyListeners.put(listener, col);
                }
                continue;
            }

            if (col != null)
            {
                ArrayList list = new ArrayList();
                ArrayList listOfObjects = null;
                Iterator colIterator;

                collections[count] = list;
                if (withObjects)
                {
                    listOfObjects = new ArrayList();
                    collectionsOfObjects[count] = listOfObjects;
                }

                if (Collection.class.isAssignableFrom(type))
                {
                    colIterator = ((Collection) col).iterator();
                }
                else if (type.isArray())
                {
                    colIterator = new ArrayIterator(col);
                }
                else
                {
                    continue;
                }

                while (colIterator.hasNext())
                {
                    Object relObj = colIterator.next();
                    list.add(new Identity(relObj, _pb));
                    if (withObjects)
                    {
                        listOfObjects.add(relObj);
                    }
                }
View Full Code Here


        for (Iterator it = refDescs.iterator(); it.hasNext(); count++)
        {
            ObjectReferenceDescriptor rds = (ObjectReferenceDescriptor) it.next();
            PersistentField f = rds.getPersistentField();
            Identity oid = (Identity) fields[count];
            Object relObj;
            if (oid == null)
            {
                relObj = null;
            }
            else
            {
                relObj = _pb.getObjectByIdentity(oid);
            }
            f.set(obj, relObj);
        }

        count = 0;
        for (Iterator it = colDescs.iterator(); it.hasNext(); count++)
        {
            CollectionDescriptor cds = (CollectionDescriptor) it.next();
            PersistentField f = cds.getPersistentField();
            ArrayList list = collections[count];
            ArrayList newCol;

            if (list == null)
            {
                f.set(obj, null);
            }
            else
            {
                newCol = new ArrayList();
                for (Iterator it2 = list.iterator(); it2.hasNext(); )
                {
                    Identity relOid = (Identity) it2.next();
                    Object relObj = _pb.getObjectByIdentity(relOid);

                    if (relObj != null)
                    {
                        newCol.add(relObj);
View Full Code Here

        int countRefs = 0;

        for (Iterator it = refDescs.iterator(); it.hasNext(); count++, countRefs++)
        {
            ObjectReferenceDescriptor rds = (ObjectReferenceDescriptor) it.next();
            Identity origOid = (origFields == null ? null : (Identity) origFields[count]);
            Identity newOid = (Identity) newFields[count];

            if (rds.getOtmDependent())
            {
                if ((origOid == null) && (newOid != null))
                {
                    ContextEntry entry = (ContextEntry) _objects.get(newOid);

                    if (entry == null)
                    {
                        Object relObj = newRefs[countRefs];
                        insertInternal(newOid, relObj, LockType.WRITE_LOCK,
                                       true, oid, new Stack());
                        newObjects.add(newOid);
                    }
                }
                else if ((origOid != null) &&
                         ((newOid == null) || !newOid.equals(origOid)))
                {
                    markDelete(origOid, oid, false);
                }
            }
        }
View Full Code Here

                if (origList != null)
                {
                    for (Iterator it2 = origList.iterator(); it2.hasNext(); )
                    {
                        Identity origOid = (Identity) it2.next();

                        if ((newList == null) || !newList.contains(origOid))
                        {
                            markDelete(origOid, oid, true);
                        }
                    }
                }

                if (newList != null)
                {
                    int countElem = 0;
                    for (Iterator it2 = newList.iterator(); it2.hasNext(); countElem++)
                    {
                        Identity newOid = (Identity) it2.next();

                        if ((origList == null) || !origList.contains(newOid))
                        {
                            ContextEntry entry = (ContextEntry) _objects.get(newOid);
View Full Code Here

                Object relObj = f.get(obj);

                if (relObj != null)
                {
                    countCascadeDeleted +=
                            markDelete(new Identity(relObj, _pb), oid, false);
                }
            }
        }

        for (Iterator it = colDescs.iterator(); it.hasNext(); )
        {
            CollectionDescriptor cds = (CollectionDescriptor) it.next();

            if (cds.getOtmDependent())
            {
                PersistentField f = cds.getPersistentField();
                Class type = f.getType();
                Object col = f.get(obj);

                if (col != null)
                {
                    Iterator colIterator;

                    if (Collection.class.isAssignableFrom(type))
                    {
                        colIterator = ((Collection) col).iterator();
                    }
                    else if (type.isArray())
                    {
                        colIterator = new ArrayIterator(col);
                    }
                    else
                    {
                        continue;
                    }

                    while (colIterator.hasNext())
                    {

                        countCascadeDeleted +=
                                markDelete(new Identity(colIterator.next(), _pb), oid, true);
                    }
                }
            }
        }
View Full Code Here

     * @param obj The object whose identifier is being accessed.
     * @return The object's identifier in the form of a String
     */
    public String getObjectId(Object obj)
    {
        Identity oid = null;
        PersistenceBroker broker = null;

        try
        {
            if (getCurrentDatabase() != null)
View Full Code Here

        PersistenceManager persistenceManager = pmf.getPersistenceManager();
       
        Employee e = new Employee();
        e.setId(bean.getId());
        PersistenceBroker broker = PersistenceBrokerFactory.defaultPersistenceBroker();
        Identity oid = new Identity(e, broker);
       
        Employee b = new Employee();
        //  2. start transaction
        persistenceManager.currentTransaction().begin();
        // 3. Get the Object based on the primary key
View Full Code Here

        PersistenceManager persistenceManager = pmf.getPersistenceManager();
       
        Employee e = new Employee();
        e.setId(bean.getId());
        PersistenceBroker broker = PersistenceBrokerFactory.defaultPersistenceBroker();
        Identity oid = new Identity(e, broker);
       
        Employee b = new Employee();
        //  2. start transaction
        persistenceManager.currentTransaction().begin();
        // 3. Get the Object based on the primary key
View Full Code Here

        PersistenceManager persistenceManager = pmf.getPersistenceManager();
       
        Employee e = new Employee();
        e.setId(bean.getId());
        PersistenceBroker broker = PersistenceBrokerFactory.defaultPersistenceBroker();
        Identity oid = new Identity(e, broker);
       
        Employee b = new Employee();
        //  2. start transaction
        persistenceManager.currentTransaction().begin();
        // 3. Get the Object based on the primary key
View Full Code Here

        PersistenceManager persistenceManager = pmf.getPersistenceManager();
       
        Employee e = new Employee();
        e.setId(bean.getId());
        PersistenceBroker broker = PersistenceBrokerFactory.defaultPersistenceBroker();
        Identity oid = new Identity(e, broker);
       
        Employee b = new Employee();
        //  2. start transaction
        persistenceManager.currentTransaction().begin();
        // 3. Get the Object based on the primary key
View Full Code Here

TOP

Related Classes of org.apache.ojb.broker.Identity

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.