1 21 package com.db4o.test; 22 23 import com.db4o.*; 24 import com.db4o.query.*; 25 26 29 public class IndexedUpdatesWithNull { 30 31 public String str; 32 33 public IndexedUpdatesWithNull(){ 34 } 35 36 public IndexedUpdatesWithNull(String str){ 37 this.str = str; 38 } 39 40 public void configure(){ 41 Db4o.configure().objectClass(this).objectField("str").indexed(true); 42 } 43 44 public void store(){ 45 Test.store(new IndexedUpdatesWithNull("one")); 46 Test.store(new IndexedUpdatesWithNull("two")); 47 Test.store(new IndexedUpdatesWithNull("three")); 48 Test.store(new IndexedUpdatesWithNull(null)); 49 Test.store(new IndexedUpdatesWithNull(null)); 50 Test.store(new IndexedUpdatesWithNull(null)); 51 Test.store(new IndexedUpdatesWithNull(null)); 52 Test.store(new IndexedUpdatesWithNull("four")); 53 } 54 55 public void test(){ 56 expectNulls(4, true); 57 expectNulls(3, false); 58 expectNulls(2, false); 59 expectNulls(1, true); 60 } 61 62 private void expectNulls(int count, boolean commit){ 63 Query q = Test.query(); 64 q.constrain(this.getClass()); 65 q.descend("str").constrain(null); 66 ObjectSet objectSet = q.execute(); 67 Test.ensure(objectSet.size() == count); 68 IndexedUpdatesWithNull iuwn = (IndexedUpdatesWithNull)objectSet.next(); 69 iuwn.str = "hi"; 70 ObjectContainer oc = Test.objectContainer(); 71 oc.set(iuwn); 72 if(commit){ 73 oc.commit(); 74 } 75 } 76 } 77 | Popular Tags |