当前位置: 首页>>代码示例>>Java>>正文


Java SecondaryIndex.entities方法代码示例

本文整理汇总了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();
}
 
开发者ID:nologic,项目名称:nabs,代码行数:34,代码来源:OperationTest.java

示例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();
}
 
开发者ID:nologic,项目名称:nabs,代码行数:34,代码来源:OperationTest.java

示例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;
}
 
开发者ID:nologic,项目名称:nabs,代码行数:77,代码来源:SubclassIndexTest.java

示例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();
}
 
开发者ID:nologic,项目名称:nabs,代码行数:66,代码来源:OperationTest.java

示例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;
}
 
开发者ID:nologic,项目名称:nabs,代码行数:77,代码来源:SubclassIndexTest.java

示例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();
}
 
开发者ID:nologic,项目名称:nabs,代码行数:66,代码来源:OperationTest.java

示例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;
}
 
开发者ID:nologic,项目名称:nabs,代码行数:77,代码来源:SubclassIndexTest.java


注:本文中的com.sleepycat.persist.SecondaryIndex.entities方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。