1 21 package com.db4o.test.legacy; 22 23 import java.util.*; 24 25 import com.db4o.*; 26 import com.db4o.ext.*; 27 import com.db4o.query.*; 28 import com.db4o.test.*; 29 30 31 public class PCollectionReferencedTwice { 32 33 34 35 public void store(){ 36 37 Test.deleteAllInstances(this); 38 39 ExtObjectContainer oc = Test.objectContainer(); 40 41 PCRTHolder one = new PCRTHolder(); 42 43 one._list = oc.collections().newLinkedList(); 44 45 one._list.add("Hi"); 46 47 oc.set(one); 48 49 PCRTHolder two = new PCRTHolder(); 50 51 two._list = one._list; 52 53 oc.set(two); 54 } 55 56 public void test(){ 57 58 tListIdentity(); 59 60 Test.defragment(); 61 62 tListIdentity(); 63 64 } 65 66 private void tListIdentity(){ 67 ExtObjectContainer oc = Test.objectContainer(); 68 69 Query q = oc.query(); 70 q.constrain(PCRTHolder.class); 71 72 ObjectSet res = q.execute(); 73 74 Test.ensure(res.size() == 2); 75 76 PCRTHolder one = (PCRTHolder) res.next(); 77 PCRTHolder two = (PCRTHolder) res.next(); 78 79 Test.ensure(one._list == two._list); 80 81 } 82 83 84 public static class PCRTHolder { 85 86 public List _list; 87 88 } 89 90 91 92 } 93 | Popular Tags |