1 21 package com.db4o.test; 22 23 import java.util.*; 24 25 import com.db4o.*; 26 import com.db4o.foundation.*; 27 28 public class CascadeToExistingVectorMember { 29 30 public Vector vec; 31 32 public void configure(){ 33 Db4o.configure().objectClass(this).cascadeOnUpdate(true); 34 } 35 36 public void store(){ 37 Test.deleteAllInstances(new Atom()); 38 Test.deleteAllInstances(this); 39 CascadeToExistingVectorMember cev = new CascadeToExistingVectorMember(); 40 cev.vec = new Vector(); 41 Atom atom = new Atom("one"); 42 Test.store(atom); 43 cev.vec.addElement(atom); 44 Test.store(cev); 45 } 46 47 public void test(){ 48 Test.forEach(new CascadeToExistingVectorMember(), new Visitor4() { 49 public void visit(Object obj) { 50 CascadeToExistingVectorMember cev = (CascadeToExistingVectorMember)obj; 51 Atom atom = (Atom)cev.vec.elementAt(0); 52 atom.name = "two"; 53 Test.store(cev); 54 atom.name = "three"; 55 Test.store(cev); 56 } 57 }); 58 59 Test.reOpen(); 60 61 Test.forEach(new CascadeToExistingVectorMember(), new Visitor4() { 62 public void visit(Object obj) { 63 CascadeToExistingVectorMember cev = (CascadeToExistingVectorMember)obj; 64 Atom atom = (Atom)cev.vec.elementAt(0); 65 Test.ensure(atom.name.equals("three")); 66 Test.ensureOccurrences(atom, 1); 67 } 68 }); 69 70 Test.forEach(new CascadeToExistingVectorMember(), new Visitor4() { 71 public void visit(Object obj) { 72 CascadeToExistingVectorMember cev = (CascadeToExistingVectorMember)obj; 73 Atom atom = (Atom)cev.vec.elementAt(0); 74 atom.name = "four"; 75 Test.store(cev); 76 } 77 }); 78 79 80 Test.reOpen(); 81 82 Test.forEach(new CascadeToExistingVectorMember(), new Visitor4() { 83 public void visit(Object obj) { 84 CascadeToExistingVectorMember cev = (CascadeToExistingVectorMember)obj; 85 Atom atom = (Atom)cev.vec.elementAt(0); 86 Test.ensure(atom.name.equals("four")); 87 Test.ensureOccurrences(atom, 1); 88 } 89 }); 90 91 92 } 93 } 94 | Popular Tags |