Package org.exolab.castor.persist.spi

Examples of org.exolab.castor.persist.spi.Identity


    public void testLoadLaptopMulti() throws Exception {
        Database database = _category.getDatabase();
       
        database.begin();
        LaptopMulti laptop = (LaptopMulti) database.load(LaptopMulti.class,
                new Identity(new Integer (1), new Integer(1)));
        database.commit();
       
        assertNotNull(laptop);
        assertEquals("ctf.jdo.tc9x.LaptopMulti", laptop.getClass().getName());
        assertEquals("laptop 1", laptop.getName());
View Full Code Here


    public void testLoadServerMulti() throws Exception {
        Database database = _category.getDatabase();
       
        database.begin();
        ServerMulti server = (ServerMulti) database.load(ServerMulti.class,
                new Identity(new Integer(3), new Integer(3)));
        database.commit();
       
        assertNotNull(server);
        assertEquals("ctf.jdo.tc9x.ServerMulti", server.getClass().getName());
        assertEquals(3, server.getId1());
View Full Code Here

    public void testLoadComputerMulti() throws Exception {
        Database database = _category.getDatabase();
       
        database.begin();
        ComputerMulti computer = (LaptopMulti) database.load(ComputerMulti.class,
                new Identity(new Integer(1), new Integer(1)));
        database.commit();
       
        assertNotNull(computer);
        assertEquals(1, computer.getId1());
        assertEquals(1, computer.getId2());
View Full Code Here

        Database db = _category.getDatabase();
        db.begin();
       
        ParentWithCompoundId child = (ParentWithCompoundId)
            db.load(ParentWithCompoundId.class,
                    new Identity(new Integer(1), new Integer(1)));

        assertNotNull(child);
        assertEquals(new Integer(1), child.getId1());
        assertEquals(new Integer(1), child.getId2());
       
View Full Code Here

        Database db = _category.getDatabase();
        db.begin();
       
        ChildWithCompoundId child = (ChildWithCompoundId)
            db.load(ChildWithCompoundId.class,
                    new Identity(new Integer(1), new Integer(1)));

        assertNotNull(child);
        assertEquals(new Integer(1), child.getId1());
        assertEquals(new Integer(1), child.getId2());
       
View Full Code Here

        // has reference to this object. so, how to deal with that?
        if (_fieldMolder.isDependent()) {
            ArrayList alist = (ArrayList) field;
            if (field != null) {
                for (int j = 0; j < alist.size(); j++) {
                    Identity fid = (Identity) alist.get(j);
                    Object fetched = null;
                    if (fid != null) {
                        fetched = tx.fetch(fieldClassMolder, fid, null);
                        if (fetched != null) {
                            tx.delete(fetched);
                        }
                    }
                }

                Iterator itor = ClassMolderHelper.getIterator(_fieldMolder
                        .getValue(object, tx.getClassLoader()));
                while (itor.hasNext()) {
                    Object fobject = itor.next();
                    if (fobject != null && tx.isPersistent(fobject)) {
                        tx.delete(fobject);
                    }
                }
            }
        } else {
            if (field != null) {
                ArrayList alist = (ArrayList) field;
                for (int j = 0; j < alist.size(); j++) {
                    Identity fid = (Identity) alist.get(j);
                    Object fetched = null;
                    if (fid != null) {
                        fetched = tx.fetch(fieldClassMolder, fid, null);
                        if (fetched != null) {
                            fieldClassMolder.removeRelation(tx, fetched,
View Full Code Here

                    flags.setUpdatePersist(true);
                }
                flags.setUpdateCache(true);
            }
            while (removedItor.hasNext()) {
                Identity removedId = (Identity) removedItor.next();
                Object reldel = tx.fetch(fieldClassMolder, removedId, null);
                if (reldel != null) {
                    if (_fieldMolder.isDependent()) {
                        tx.delete(reldel);
                    } else {
View Full Code Here

    public Identity nextIdentity(final Identity identity) throws PersistenceException {
        try {
            if (_lastIdentity == null) {
                if (!_rs.next()) { return null; }
                _lastIdentity = new Identity(SQLTypeInfos.getValue(_rs, 1, _sqlTypes[0]));
                return _lastIdentity;
            }

            while (_lastIdentity.equals(identity)) {
                if (!_rs.next()) {
                    _lastIdentity = null;
                    return null;
                }
                _lastIdentity = new Identity(SQLTypeInfos.getValue(_rs, 1, _sqlTypes[0]));
            }
            return _lastIdentity;
        } catch (SQLException except) {
            _lastIdentity = null;
            throw new PersistenceException(Messages.format("persist.nested", except));
View Full Code Here

            // index 0 belongs to the identity
            for (int i = 1; i < _sqlTypes.length; ++i) {
                proposedObject.setField(SQLTypeInfos.getValue(_rs, i + 1, _sqlTypes[i]), i - 1);
            }
            if (_rs.next()) {
                _lastIdentity = new Identity(SQLTypeInfos.getValue(_rs, 1, _sqlTypes[0]));
            } else {
                _lastIdentity = null;
            }
        } catch (SQLException except) {
            throw new PersistenceException(Messages.format("persist.nested",
View Full Code Here

            ArrayList added = new ArrayList(((Map) collection).size());
            Iterator newItor = ((Map) collection).values().iterator();
            while (newItor.hasNext()) {
                Object newValue = newItor.next();
                Identity newId = ch.getIdentity(tx, newValue);
                if (!orgIds.contains(newId)) { added.add(newValue); }
            }
            return added;
        }
View Full Code Here

TOP

Related Classes of org.exolab.castor.persist.spi.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.