| 1 21 package com.db4o.db4ounit.common.fieldindex; 22 23 import com.db4o.*; 24 import com.db4o.config.*; 25 import com.db4o.query.Query; 26 27 import db4ounit.extensions.AbstractDb4oTestCase; 28 import db4ounit.extensions.fixtures.OptOutCS; 29 30 public abstract class FieldIndexTestCaseBase extends AbstractDb4oTestCase 31 implements OptOutCS { 32 33 public FieldIndexTestCaseBase() { 34 super(); 35 } 36 37 protected void configure(Configuration config) { 38 indexField(config, FieldIndexItem.class, "foo"); 39 } 40 41 protected abstract void store(); 42 43 protected void storeItems(final int[] foos) { 44 for (int i = 0; i < foos.length; i++) { 45 store(new FieldIndexItem(foos[i])); 46 } 47 } 48 49 protected Query createQuery(final int id) { 50 Query q = createItemQuery(); 51 q.descend("foo").constrain(new Integer (id)); 52 return q; 53 } 54 55 protected Query createItemQuery() { 56 return createQuery(FieldIndexItem.class); 57 } 58 59 protected Query createQuery(Class clazz) { 60 return createQuery(trans(), clazz); 61 } 62 63 protected Query createQuery(Transaction trans, Class clazz) { 64 Query q = createQuery(trans); 65 q.constrain(clazz); 66 return q; 67 } 68 69 protected Query createItemQuery(Transaction trans) { 70 Query q = createQuery(trans); 71 q.constrain(FieldIndexItem.class); 72 return q; 73 } 74 75 private Query createQuery(Transaction trans) { 76 return stream().query(trans); 77 } 78 } | Popular Tags |