1 21 package com.db4o.db4ounit.common.querying; 22 23 import com.db4o.*; 24 import com.db4o.config.*; 25 import com.db4o.query.*; 26 27 import db4ounit.*; 28 import db4ounit.extensions.*; 29 30 public class CascadeOnActivate extends AbstractDb4oTestCase { 31 32 public String name; 33 34 public CascadeOnActivate child; 35 36 protected void configure(Configuration conf) { 37 conf.objectClass(this).cascadeOnActivate(true); 38 } 39 40 protected void store() { 41 CascadeOnActivate coa = new CascadeOnActivate(); 42 coa.name = "1"; 43 coa.child = new CascadeOnActivate(); 44 coa.child.name = "2"; 45 coa.child.child = new CascadeOnActivate(); 46 coa.child.child.name = "3"; 47 48 db().set(coa); 49 } 50 51 public void test() { 52 Query q = newQuery(getClass()); 53 q.descend("name").constrain("1"); 54 ObjectSet os = q.execute(); 55 56 CascadeOnActivate coa = (CascadeOnActivate) os.next(); 57 CascadeOnActivate coa3 = coa.child.child; 58 59 Assert.areEqual("3", coa3.name); 60 61 db().deactivate(coa, Integer.MAX_VALUE); 62 63 Assert.isNull(coa3.name); 64 65 db().activate(coa, 1); 66 67 Assert.areEqual("3", coa3.name); 68 } 69 } 70 | Popular Tags |