Package org.apache.cayenne

Examples of org.apache.cayenne.ObjectContext


        ServerRuntime runtime = new ServerRuntime("Yuis", module);
        assertSame(channel, runtime.getChannel());
    }

    public void testGetObjectContext_CustomModule() {
        final ObjectContext context = new DataContext();
        final ObjectContextFactory factory = new ObjectContextFactory() {

            public ObjectContext createContext(DataChannel parent) {
                return context;
            }
View Full Code Here


public class NestedDataContextRollbackTest extends CayenneCase {

    public void testRollbackChanges() {
        DataContext context = createDataContext();
        ObjectContext child1 = context.createChildContext();

        assertFalse(context.hasChanges());
        assertFalse(child1.hasChanges());

        context.newObject(Artist.class);
        child1.newObject(Artist.class);

        assertTrue(context.hasChanges());
        assertTrue(child1.hasChanges());

        child1.rollbackChanges();
        assertFalse(context.hasChanges());
        assertFalse(child1.hasChanges());
    }
View Full Code Here

        assertFalse(child1.hasChanges());
    }

    public void testRollbackChangesLocally() {
        DataContext context = createDataContext();
        ObjectContext child1 = context.createChildContext();

        assertFalse(context.hasChanges());
        assertFalse(child1.hasChanges());

        context.newObject(Artist.class);
        child1.newObject(Artist.class);

        assertTrue(context.hasChanges());
        assertTrue(child1.hasChanges());

        child1.rollbackChangesLocally();
        assertTrue(context.hasChanges());
        assertFalse(child1.hasChanges());
    }
View Full Code Here

import org.apache.cayenne.unit.CayenneCase;

public class EnumTest extends CayenneCase {

    public void testInsert() {
        ObjectContext context = createDataContext();

        EnumEntity e = context.newObject(EnumEntity.class);
        e.setEnumAttribute(Enum1.one);

        context.commitChanges();
    }
View Full Code Here

        context.commitChanges();
    }

    public void testSelectQuery() throws Exception {
        deleteTestData();
        ObjectContext context = createDataContext();

        context.performGenericQuery(new SQLTemplate(
                EnumEntity.class,
                "insert into ENUM_ENTITY (ID, ENUM_ATTRIBUTE) VALUES (1, 'two')"));
        context.performGenericQuery(new SQLTemplate(
                EnumEntity.class,
                "insert into ENUM_ENTITY (ID, ENUM_ATTRIBUTE) VALUES (2, 'one')"));

        SelectQuery q = new SelectQuery(EnumEntity.class);
        q.andQualifier(ExpressionFactory.matchExp(
View Full Code Here

        assertSame(Enum1.one, e.getEnumAttribute());
    }

    public void testSQLTemplate() throws Exception {
        deleteTestData();
        ObjectContext context = createDataContext();

        context.performGenericQuery(new SQLTemplate(
                EnumEntity.class,
                "insert into ENUM_ENTITY (ID, ENUM_ATTRIBUTE) VALUES (1, 'two')"));
        context.performGenericQuery(new SQLTemplate(
                EnumEntity.class,
                "insert into ENUM_ENTITY (ID, ENUM_ATTRIBUTE) VALUES (2, 'one')"));

        SQLTemplate q = new SQLTemplate(
                EnumEntity.class,
View Full Code Here

    protected void setUp() throws Exception {
        deleteTestData();
    }

    public void testAliasPathSplits_SinglePath() {
        ObjectContext context = createDataContext();
        context.performGenericQuery(new SQLTemplate(
                Artist.class,
                "INSERT INTO ARTIST (ARTIST_ID, ARTIST_NAME) VALUES (1, 'AA')"));
        context.performGenericQuery(new SQLTemplate(
                Artist.class,
                "INSERT INTO ARTIST (ARTIST_ID, ARTIST_NAME) VALUES (2, 'BB')"));

        context.performGenericQuery(new SQLTemplate(
                Artist.class,
                "INSERT INTO PAINTING (PAINTING_ID, ARTIST_ID, PAINTING_TITLE) "
                        + "VALUES (1, 1, 'X')"));
        context.performGenericQuery(new SQLTemplate(
                Artist.class,
                "INSERT INTO PAINTING (PAINTING_ID, ARTIST_ID, PAINTING_TITLE)"
                        + " VALUES (2, 2, 'Y')"));

        SelectQuery query = new SelectQuery(Artist.class);
        query.andQualifier(ExpressionFactory.matchExp("p.paintingTitle", "X"));

        query.aliasPathSplits("paintingArray", "p");

        List<Artist> artists = context.performQuery(query);
        assertEquals(1, artists.size());
        assertEquals("AA", artists.get(0).getArtistName());
    }
View Full Code Here

    public void testDeleteNew() throws Exception {
        deleteTestData();
        createTestData("testDeleteNew");

        DataContext context = createDataContext();
        ObjectContext childContext = context.createChildContext();

        Artist a = Cayenne.objectForPK(childContext, Artist.class, 33001);
        Painting p = childContext.newObject(Painting.class);
        p.setPaintingTitle("X");
        a.addToPaintingArray(p);

        childContext.commitChangesToParent();

        childContext.deleteObject(p);
        a.removeFromPaintingArray(p);

        childContext.commitChangesToParent();
    }
View Full Code Here

    public void testNullifyToOne() throws Exception {
        deleteTestData();
        createTestData("testNullifyToOne");

        DataContext context = createDataContext();
        ObjectContext childContext = context.createChildContext();
        ObjectContext childContextPeer = context.createChildContext();

        Painting childP1 = Cayenne.objectForPK(
                childContext,
                Painting.class,
                33001);
View Full Code Here

    public void testCommitChangesToParent() throws Exception {
        deleteTestData();
        createTestData("testFlushChanges");

        DataContext context = createDataContext();
        ObjectContext childContext = context.createChildContext();

        // make sure we fetch in predictable order
        SelectQuery query = new SelectQuery(Artist.class);
        query.addOrdering(Artist.ARTIST_NAME_PROPERTY, SortOrder.ASCENDING);
        List objects = childContext.performQuery(query);

        assertEquals(4, objects.size());

        Artist childNew = childContext.newObject(Artist.class);
        childNew.setArtistName("NNN");

        Artist childModified = (Artist) objects.get(0);
        childModified.setArtistName("MMM");

        Artist childCommitted = (Artist) objects.get(1);

        Artist childHollow = (Artist) objects.get(3);
        childContext.invalidateObjects(Collections.singleton(childHollow));

        blockQueries();

        try {
            childContext.commitChangesToParent();

            // * all modified child objects must be in committed state now
            // * all modifications should be propagated to the parent
            // * no actual commit should occur.

View Full Code Here

TOP

Related Classes of org.apache.cayenne.ObjectContext

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.