本文整理汇总了Java中com.sleepycat.persist.SecondaryIndex.entities方法的典型用法代码示例。如果您正苦于以下问题:Java SecondaryIndex.entities方法的具体用法?Java SecondaryIndex.entities怎么用?Java SecondaryIndex.entities使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.sleepycat.persist.SecondaryIndex
的用法示例。
在下文中一共展示了SecondaryIndex.entities方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: testCursorCount
import com.sleepycat.persist.SecondaryIndex; //导入方法依赖的package包/类
public void testCursorCount()
throws DatabaseException {
open();
PrimaryIndex<Integer,MyEntity> priIndex =
store.getPrimaryIndex(Integer.class, MyEntity.class);
SecondaryIndex<Integer,Integer,MyEntity> secIndex =
store.getSecondaryIndex(priIndex, Integer.class, "secKey");
Transaction txn = txnBeginCursor();
MyEntity e = new MyEntity();
e.priKey = 1;
e.secKey = 1;
priIndex.put(txn, e);
EntityCursor<MyEntity> cursor = secIndex.entities(txn, null);
cursor.next();
assertEquals(1, cursor.count());
cursor.close();
e.priKey = 2;
priIndex.put(txn, e);
cursor = secIndex.entities(txn, null);
cursor.next();
assertEquals(2, cursor.count());
cursor.close();
txnCommit(txn);
close();
}
示例2: testCursorCount
import com.sleepycat.persist.SecondaryIndex; //导入方法依赖的package包/类
public void testCursorCount()
throws DatabaseException {
open();
PrimaryIndex<Integer,MyEntity> priIndex =
store.getPrimaryIndex(Integer.class, MyEntity.class);
SecondaryIndex<Integer,Integer,MyEntity> secIndex =
store.getSecondaryIndex(priIndex, Integer.class, "secKey");
Transaction txn = txnBeginCursor();
MyEntity e = new MyEntity();
e.priKey = 1;
e.secKey = 1;
priIndex.put(txn, e);
EntityCursor<MyEntity> cursor = secIndex.entities(txn, null);
cursor.next();
assertEquals(1, cursor.count());
cursor.close();
e.priKey = 2;
priIndex.put(txn, e);
cursor = secIndex.entities(txn, null);
cursor.next();
assertEquals(2, cursor.count());
cursor.close();
txnCommit(txn);
close();
}
示例3: testSubclassIndex
import com.sleepycat.persist.SecondaryIndex; //导入方法依赖的package包/类
public void testSubclassIndex()
throws DatabaseException {
EnvironmentConfig envConfig = new EnvironmentConfig();
envConfig.setAllowCreate(true);
env = new Environment(envHome, envConfig);
StoreConfig storeConfig = new StoreConfig();
storeConfig.setAllowCreate(true);
EntityStore store = new EntityStore(env, "foo", storeConfig);
PrimaryIndex<String, Employee> employeesById =
store.getPrimaryIndex(String.class, Employee.class);
employeesById.put(new Employee("1"));
employeesById.put(new Manager("2", "a"));
employeesById.put(new Manager("3", "a"));
employeesById.put(new Manager("4", "b"));
Employee e;
Manager m;
e = employeesById.get("1");
assertNotNull(e);
assertTrue(!(e instanceof Manager));
/* Ensure DB exists BEFORE calling getSubclassIndex. [#15247] */
PersistTestUtils.assertDbExists
(true, env, "foo", Employee.class.getName(), "dept");
/* Normal use: Subclass index for a key in the subclass. */
SecondaryIndex<String, String, Manager> managersByDept =
store.getSubclassIndex
(employeesById, Manager.class, String.class, "dept");
m = managersByDept.get("a");
assertNotNull(m);
assertEquals("2", m.id);
m = managersByDept.get("b");
assertNotNull(m);
assertEquals("4", m.id);
EntityCursor<Manager> managers = managersByDept.entities();
try {
m = managers.next();
assertNotNull(m);
assertEquals("2", m.id);
m = managers.next();
assertNotNull(m);
assertEquals("3", m.id);
m = managers.next();
assertNotNull(m);
assertEquals("4", m.id);
m = managers.next();
assertNull(m);
} finally {
managers.close();
}
/* Getting a subclass index for the entity class is also allowed. */
store.getSubclassIndex
(employeesById, Employee.class, String.class, "other");
/* Getting a subclass index for a base class key is not allowed. */
try {
store.getSubclassIndex
(employeesById, Manager.class, String.class, "other");
fail();
} catch (IllegalArgumentException expected) {
}
store.close();
env.close();
env = null;
}
示例4: testDeferredWrite
import com.sleepycat.persist.SecondaryIndex; //导入方法依赖的package包/类
public void testDeferredWrite()
throws DatabaseException {
if (envConfig.getTransactional()) {
/* Deferred write cannot be used with transactions. */
return;
}
StoreConfig storeConfig = new StoreConfig();
storeConfig.setDeferredWrite(true);
storeConfig.setAllowCreate(true);
open(storeConfig);
assertTrue(store.getConfig().getDeferredWrite());
PrimaryIndex<Integer,MyEntity> priIndex =
store.getPrimaryIndex(Integer.class, MyEntity.class);
SecondaryIndex<Integer,Integer,MyEntity> secIndex =
store.getSecondaryIndex(priIndex, Integer.class, "secKey");
DatabaseConfig dbConfig = priIndex.getDatabase().getConfig();
assertTrue(dbConfig.getDeferredWrite());
dbConfig = secIndex.getDatabase().getConfig();
assertTrue(dbConfig.getDeferredWrite());
MyEntity e = new MyEntity();
e.priKey = 1;
e.secKey = 1;
priIndex.put(e);
EntityCursor<MyEntity> cursor = secIndex.entities();
cursor.next();
assertEquals(1, cursor.count());
cursor.close();
e.priKey = 2;
priIndex.put(e);
cursor = secIndex.entities();
cursor.next();
assertEquals(2, cursor.count());
cursor.close();
class MySyncHook implements Store.SyncHook {
boolean gotFlush;
List<Database> synced = new ArrayList<Database>();
public void onSync(Database db, boolean flushLog) {
synced.add(db);
if (flushLog) {
assertTrue(!gotFlush);
gotFlush = true;
}
}
}
MySyncHook hook = new MySyncHook();
Store.setSyncHook(hook);
store.sync();
assertTrue(hook.gotFlush);
assertEquals(2, hook.synced.size());
assertTrue(hook.synced.contains(priIndex.getDatabase()));
assertTrue(hook.synced.contains(secIndex.getDatabase()));
close();
}
示例5: testSubclassIndex
import com.sleepycat.persist.SecondaryIndex; //导入方法依赖的package包/类
public void testSubclassIndex()
throws DatabaseException {
EnvironmentConfig envConfig = new EnvironmentConfig();
envConfig.setAllowCreate(true);
env = new Environment(envHome, envConfig);
StoreConfig storeConfig = new StoreConfig();
storeConfig.setAllowCreate(true);
EntityStore store = new EntityStore(env, "foo", storeConfig);
PrimaryIndex<String, Employee> employeesById =
store.getPrimaryIndex(String.class, Employee.class);
employeesById.put(new Employee("1"));
employeesById.put(new Manager("2", "a"));
employeesById.put(new Manager("3", "a"));
employeesById.put(new Manager("4", "b"));
Employee e;
Manager m;
e = employeesById.get("1");
assertNotNull(e);
assertTrue(!(e instanceof Manager));
/* Ensure DB exists BEFORE calling getSubclassIndex. [#15247] */
PersistTestUtils.assertDbExists
(true, env, "foo", Employee.class.getName(), "dept");
/* Normal use: Subclass index for a key in the subclass. */
SecondaryIndex<String, String, Manager> managersByDept =
store.getSubclassIndex
(employeesById, Manager.class, String.class, "dept");
m = managersByDept.get("a");
assertNotNull(m);
assertEquals("2", m.id);
m = managersByDept.get("b");
assertNotNull(m);
assertEquals("4", m.id);
EntityCursor<Manager> managers = managersByDept.entities();
try {
m = managers.next();
assertNotNull(m);
assertEquals("2", m.id);
m = managers.next();
assertNotNull(m);
assertEquals("3", m.id);
m = managers.next();
assertNotNull(m);
assertEquals("4", m.id);
m = managers.next();
assertNull(m);
} finally {
managers.close();
}
/* Getting a subclass index for the entity class is also allowed. */
store.getSubclassIndex
(employeesById, Employee.class, String.class, "other");
/* Getting a subclass index for a base class key is not allowed. */
try {
store.getSubclassIndex
(employeesById, Manager.class, String.class, "other");
fail();
} catch (IllegalArgumentException expected) {
}
store.close();
env.close();
env = null;
}
示例6: testDeferredWrite
import com.sleepycat.persist.SecondaryIndex; //导入方法依赖的package包/类
public void testDeferredWrite()
throws DatabaseException {
if (envConfig.getTransactional()) {
/* Deferred write cannot be used with transactions. */
return;
}
StoreConfig storeConfig = new StoreConfig();
storeConfig.setDeferredWrite(true);
storeConfig.setAllowCreate(true);
open(storeConfig);
assertTrue(store.getConfig().getDeferredWrite());
PrimaryIndex<Integer,MyEntity> priIndex =
store.getPrimaryIndex(Integer.class, MyEntity.class);
SecondaryIndex<Integer,Integer,MyEntity> secIndex =
store.getSecondaryIndex(priIndex, Integer.class, "secKey");
DatabaseConfig dbConfig = priIndex.getDatabase().getConfig();
assertTrue(dbConfig.getDeferredWrite());
dbConfig = secIndex.getDatabase().getConfig();
assertTrue(dbConfig.getDeferredWrite());
MyEntity e = new MyEntity();
e.priKey = 1;
e.secKey = 1;
priIndex.put(e);
EntityCursor<MyEntity> cursor = secIndex.entities();
cursor.next();
assertEquals(1, cursor.count());
cursor.close();
e.priKey = 2;
priIndex.put(e);
cursor = secIndex.entities();
cursor.next();
assertEquals(2, cursor.count());
cursor.close();
class MySyncHook implements Store.SyncHook {
boolean gotFlush;
List<Database> synced = new ArrayList<Database>();
public void onSync(Database db, boolean flushLog) {
synced.add(db);
if (flushLog) {
assertTrue(!gotFlush);
gotFlush = true;
}
}
}
MySyncHook hook = new MySyncHook();
Store.setSyncHook(hook);
store.sync();
assertTrue(hook.gotFlush);
assertEquals(2, hook.synced.size());
assertTrue(hook.synced.contains(priIndex.getDatabase()));
assertTrue(hook.synced.contains(secIndex.getDatabase()));
close();
}
示例7: testSubclassIndex
import com.sleepycat.persist.SecondaryIndex; //导入方法依赖的package包/类
public void testSubclassIndex()
throws IOException, DatabaseException {
EnvironmentConfig envConfig = TestEnv.BDB.getConfig();
envConfig.setAllowCreate(true);
env = new Environment(envHome, envConfig);
StoreConfig storeConfig = new StoreConfig();
storeConfig.setAllowCreate(true);
EntityStore store = new EntityStore(env, "foo", storeConfig);
PrimaryIndex<String, Employee> employeesById =
store.getPrimaryIndex(String.class, Employee.class);
employeesById.put(new Employee("1"));
employeesById.put(new Manager("2", "a"));
employeesById.put(new Manager("3", "a"));
employeesById.put(new Manager("4", "b"));
Employee e;
Manager m;
e = employeesById.get("1");
assertNotNull(e);
assertTrue(!(e instanceof Manager));
/* Ensure DB exists BEFORE calling getSubclassIndex. [#15247] */
PersistTestUtils.assertDbExists
(true, env, "foo", Employee.class.getName(), "dept");
/* Normal use: Subclass index for a key in the subclass. */
SecondaryIndex<String, String, Manager> managersByDept =
store.getSubclassIndex
(employeesById, Manager.class, String.class, "dept");
m = managersByDept.get("a");
assertNotNull(m);
assertEquals("2", m.id);
m = managersByDept.get("b");
assertNotNull(m);
assertEquals("4", m.id);
EntityCursor<Manager> managers = managersByDept.entities();
try {
m = managers.next();
assertNotNull(m);
assertEquals("2", m.id);
m = managers.next();
assertNotNull(m);
assertEquals("3", m.id);
m = managers.next();
assertNotNull(m);
assertEquals("4", m.id);
m = managers.next();
assertNull(m);
} finally {
managers.close();
}
/* Getting a subclass index for the entity class is also allowed. */
store.getSubclassIndex
(employeesById, Employee.class, String.class, "other");
/* Getting a subclass index for a base class key is not allowed. */
try {
store.getSubclassIndex
(employeesById, Manager.class, String.class, "other");
fail();
} catch (IllegalArgumentException expected) {
}
store.close();
env.close();
env = null;
}