Examples of ToManyList


Examples of org.apache.cayenne.access.ToManyList

    public void testNewToMany() throws Exception {
        Artist artist = context.newObject(Artist.class);
        artist.setArtistName("test");
        assertTrue(artist.readPropertyDirectly("paintingArray") instanceof ToManyList);

        ToManyList list = (ToManyList) artist.readPropertyDirectly("paintingArray");
        assertFalse(list.isFault());

        context.commitChanges();

        assertFalse(list.isFault());
    }
View Full Code Here

Examples of org.apache.cayenne.access.ToManyList

        assertNull("CDO serialized by itself shouldn't have a DataContext: "
                + deserialized.getObjectContext(), deserialized.getObjectContext());

        // test that to-many relationships are initialized
        assertTrue(deserialized.readPropertyDirectly("paintingArray") instanceof ToManyList);
        ToManyList list = (ToManyList) artist.readPropertyDirectly("paintingArray");
        assertFalse(list.isFault());
    }
View Full Code Here

Examples of org.apache.cayenne.access.ToManyList

    public void testNewToMany() throws Exception {
        Artist artist = context.newObject(Artist.class);
        artist.setArtistName("test");
        assertTrue(artist.readPropertyDirectly("paintingArray") instanceof ToManyList);

        ToManyList list = (ToManyList) artist.readPropertyDirectly("paintingArray");
        assertFalse(list.isFault());

        context.commitChanges();

        assertFalse(list.isFault());
    }
View Full Code Here

Examples of org.apache.cayenne.access.ToManyList

        context = createDataContext();
    }

    private ToManyList createForNewArtist() {
        Artist artist = context.newObject(Artist.class);
        return new ToManyList(artist, Artist.PAINTING_ARRAY_PROPERTY);
    }
View Full Code Here

Examples of org.apache.cayenne.access.ToManyList

    private ToManyList createForExistingArtist() {
        Artist artist = context.newObject(Artist.class);
        artist.setArtistName("aa");
        context.commitChanges();
        return new ToManyList(artist, Artist.PAINTING_ARRAY_PROPERTY);
    }
View Full Code Here

Examples of org.apache.cayenne.access.ToManyList

        context.commitChanges();
        return new ToManyList(artist, Artist.PAINTING_ARRAY_PROPERTY);
    }

    public void testNewAddRemove() throws Exception {
        ToManyList list = createForNewArtist();
        assertFalse("Expected resolved list when created with a new object", list
                .isFault());
        assertEquals(0, list.size());

        Painting p1 = context.newObject(Painting.class);
        list.add(p1);
        assertEquals(1, list.size());

        Painting p2 = context.newObject(Painting.class);
        list.add(p2);
        assertEquals(2, list.size());

        list.remove(p1);
        assertEquals(1, list.size());
    }
View Full Code Here

Examples of org.apache.cayenne.access.ToManyList

        list.remove(p1);
        assertEquals(1, list.size());
    }

    public void testSavedUnresolvedAddRemove() throws Exception {
        ToManyList list = createForExistingArtist();

        // immediately tag Artist as MODIFIED, since we are messing up with relationship
        // bypassing normal CayenneDataObject methods
        list.getRelationshipOwner().setPersistenceState(PersistenceState.MODIFIED);

        assertTrue("List must be unresolved for an existing object", list.isFault());

        Painting p1 = context.newObject(Painting.class);
        list.add(p1);
        assertTrue("List must be unresolved when adding an object...", list.isFault());
        assertTrue(list.addedToUnresolved.contains(p1));

        Painting p2 = context.newObject(Painting.class);
        list.add(p2);
        assertTrue("List must be unresolved when adding an object...", list.isFault());
        assertTrue(list.addedToUnresolved.contains(p2));

        list.remove(p1);
        assertTrue("List must be unresolved when removing an object...", list.isFault());
        assertFalse(list.addedToUnresolved.contains(p1));

        // now resolve
        int size = list.size();
        assertFalse("List must be resolved after checking a size...", list.isFault());
        assertEquals(1, size);
        assertTrue(getValue(list).contains(p2));
    }
View Full Code Here

Examples of org.apache.cayenne.access.ToManyList

        assertEquals(1, size);
        assertTrue(getValue(list).contains(p2));
    }

    public void testSavedUnresolvedMerge() throws Exception {
        ToManyList list = createForExistingArtist();

        Painting p1 = context.newObject(Painting.class);
        p1.setPaintingTitle("p1");

        // list being tested is a separate copy from
        // the relationship list that Artist has, so adding a painting
        // here will not add the painting to the array being tested
        ((Artist) list.getRelationshipOwner()).addToPaintingArray(p1);
        context.commitChanges();

        // immediately tag Artist as MODIFIED, since we are messing up with relationship
        // bypassing normal CayenneDataObject methods
        list.getRelationshipOwner().setPersistenceState(PersistenceState.MODIFIED);

        assertTrue("List must be unresolved...", list.isFault());
        list.add(p1);
        assertTrue("List must be unresolved when adding an object...", list.isFault());
        assertTrue(list.addedToUnresolved.contains(p1));

        Painting p2 = context.newObject(Painting.class);
        list.add(p2);
        assertTrue("List must be unresolved when adding an object...", list.isFault());
        assertTrue(list.addedToUnresolved.contains(p2));

        // now resolve the list and see how merge worked
        int size = list.size();
        assertFalse("List must be resolved after checking a size...", list.isFault());
        assertEquals(2, size);
        assertTrue(getValue(list).contains(p2));
        assertTrue(getValue(list).contains(p1));
    }
View Full Code Here

Examples of org.apache.cayenne.access.ToManyList

        assertTrue(getValue(list).contains(p2));
        assertTrue(getValue(list).contains(p1));
    }

    public void testThrowOutDeleted() throws Exception {
        ToManyList list = createForExistingArtist();

        Painting p1 = context.newObject(Painting.class);
        p1.setPaintingTitle("p1");
        Painting p2 = context.newObject(Painting.class);
        p2.setPaintingTitle("p2");

        // list being tested is a separate copy from
        // the relationship list that Artist has, so adding a painting
        // here will not add the painting to the array being tested
        ((Artist) list.getRelationshipOwner()).addToPaintingArray(p1);
        ((Artist) list.getRelationshipOwner()).addToPaintingArray(p2);
        context.commitChanges();

        // immediately tag Artist as MODIFIED, since we are messing up with relationship
        // bypassing normal CayenneDataObject methods
        list.getRelationshipOwner().setPersistenceState(PersistenceState.MODIFIED);

        assertTrue("List must be unresolved...", list.isFault());
        list.add(p1);
        list.add(p2);
        assertTrue("List must be unresolved when adding an object...", list.isFault());
        assertTrue(list.addedToUnresolved.contains(p2));
        assertTrue(list.addedToUnresolved.contains(p1));

        // now delete p2 and resolve list
        ((Artist) list.getRelationshipOwner()).removeFromPaintingArray(p2);
        context.deleteObject(p2);
        context.commitChanges();

        assertTrue("List must be unresolved...", list.isFault());
        assertTrue(
                "List must be unresolved when an object was deleted externally...",
                list.isFault());
        assertTrue(list.addedToUnresolved.contains(p2));
        assertTrue(list.addedToUnresolved.contains(p1));

        // now resolve the list and see how merge worked
        int size = list.size();
        assertFalse("List must be resolved after checking a size...", list.isFault());
        assertEquals("Deleted object must have been purged...", 1, size);
        assertTrue(getValue(list).contains(p1));
        assertFalse("Deleted object must have been purged...", getValue(list)
                .contains(p2));
    }
View Full Code Here

Examples of org.apache.cayenne.access.ToManyList

        p1.setPaintingTitle("p1");

        context.commitChanges();
        context.invalidateObjects(Collections.singletonList(artist));

        ToManyList list = (ToManyList) artist.getPaintingArray();
        assertTrue("List must be unresolved...", list.isFault());

        Painting p2 = context.newObject(Painting.class);
        p2.setPaintingTitle("p2");

        artist.addToPaintingArray(p1);
        artist.addToPaintingArray(p2);
        assertTrue("List must be unresolved...", list.isFault());

        context.commitChanges();

        assertTrue("List must be unresolved...", list.isFault());

        int size = list.size();
        assertFalse("List must be resolved...", list.isFault());
        assertTrue(list.contains(p1));
        assertTrue(list.contains(p2));
        assertEquals(2, size);
    }
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.