Package net.sf.joafip.kvstore.record.entity

Examples of net.sf.joafip.kvstore.record.entity.DataRecordIdentifier


    }
  }

  public void testNoDataWrite() throws HeapException {
    createHeap(true);
    final DataRecordIdentifier identifier = heapDataManager
        .getNewDataRecordIdentifier();
    byte[] data = new byte[100];
    heapDataManager.writeDataRecord(identifier, data);
    final DataRecordIdentifier identifier0 = new DataRecordIdentifier(0);
    assertEquals("not expected identifier", identifier0, identifier);
    closeHeap();
    createHeap(true/* remove file */);
    data = heapDataManager.readDataRecord(identifier0);
    assertNull("must failed since no data wrote", data);
View Full Code Here


    assertNull("must failed since no data wrote", data);
  }

  public void testCreateDeleteReCreate() throws HeapException {
    createHeap(true);
    DataRecordIdentifier identifier = heapDataManager
        .getNewDataRecordIdentifier();
    byte[] data = new byte[10];
    heapDataManager.writeDataRecord(identifier, data);

    DataRecordIdentifier expectedIdentifier = new DataRecordIdentifier(0);
    assertEquals("identifier must be 0", expectedIdentifier, identifier);
    assertTrue("must have data record #0",
        heapDataManager.hasDataRecord(identifier));

    assertTrue(MUST_DELETE_0, heapDataManager.deleteDataRecord(identifier));
    assertFalse("must not have data record #0",
        heapDataManager.hasDataRecord(identifier));

    identifier = heapDataManager.getNewDataRecordIdentifier();
    data = new byte[10];
    heapDataManager.writeDataRecord(identifier, data);

    expectedIdentifier = new DataRecordIdentifier(1);
    assertEquals("identifier must be 1", expectedIdentifier, identifier);
    assertTrue("must have data record #0",
        heapDataManager.hasDataRecord(identifier));
    heapDataManager.flush();
  }
View Full Code Here

  public void testRecordFreeing1() throws HeapException {
    createHeap(true);
    /*
     * create record #0
     */
    DataRecordIdentifier identifier = heapDataManager
        .getNewDataRecordIdentifier();
    byte[] data = new byte[100];
    heapDataManager.writeDataRecord(identifier, data);

    final DataRecordIdentifier expectedIdentifier0 = new DataRecordIdentifier(
        0);
    assertEquals("must create record #0", expectedIdentifier0, identifier);

    /*
     * create record #1
     */
    identifier = heapDataManager.getNewDataRecordIdentifier();
    data = new byte[100];
    heapDataManager.writeDataRecord(identifier, data);

    final DataRecordIdentifier expectedIdentifier1 = new DataRecordIdentifier(
        1);
    assertEquals("must create record #1", expectedIdentifier1, identifier);

    /*
     * create record #2
     */
    identifier = heapDataManager.getNewDataRecordIdentifier();
    data = new byte[100];
    heapDataManager.writeDataRecord(identifier, data);

    final DataRecordIdentifier expectedIdentifier2 = new DataRecordIdentifier(
        2);
    assertEquals("must create record #2", expectedIdentifier2, identifier);

    /*
     * delete #0
     */
    identifier = new DataRecordIdentifier(0);
    assertTrue(MUST_DELETE_0, heapDataManager.deleteDataRecord(identifier));
    heapDataManager.flush();

    final long record2PositionInFile = heapDataManager
        .getRecordPositionInfile(expectedIdentifier2);
    if (manageRecordPositionInFile()) {
      final long lastRecordPositionInFile = heapDataManager
          .getLastRecordPositionInFile();
      assertEquals(LAST_RECORD_MISMATCH, record2PositionInFile,
          lastRecordPositionInFile);
    }

    /*
     * delete #1
     */
    identifier = new DataRecordIdentifier(1);
    assertTrue(MUST_DELETE_1, heapDataManager.deleteDataRecord(identifier));
    heapDataManager.flush();
    if (manageRecordPositionInFile()) {
      final long lastRecordPositionInFile = heapDataManager
          .getLastRecordPositionInFile();
View Full Code Here

  public void testRecordFreeing2() throws HeapException {
    createHeap(true);
    /*
     * create record #0
     */
    DataRecordIdentifier identifier = heapDataManager
        .getNewDataRecordIdentifier();
    byte[] data = new byte[100];
    heapDataManager.writeDataRecord(identifier, data);

    final DataRecordIdentifier expectedIdentifier = new DataRecordIdentifier(
        0);
    assertEquals("must create record #0", expectedIdentifier, identifier);

    /*
     * create record #1
     */
    identifier = heapDataManager.getNewDataRecordIdentifier();
    data = new byte[100];
    heapDataManager.writeDataRecord(identifier, data);

    final DataRecordIdentifier expectedIdentifier1 = new DataRecordIdentifier(
        1);
    assertEquals("must create record #1", expectedIdentifier1, identifier);
    heapDataManager.flush();
    final long record1PositionInFile = heapDataManager
        .getRecordPositionInfile(expectedIdentifier1);

    /*
     * create record #2
     */
    identifier = heapDataManager.getNewDataRecordIdentifier();
    data = new byte[100];
    heapDataManager.writeDataRecord(identifier, data);

    final DataRecordIdentifier expectedIdentifier2 = new DataRecordIdentifier(
        2);
    assertEquals("must create record #2", expectedIdentifier2, identifier);
    heapDataManager.flush();
    final long record2PositionInFile = heapDataManager
        .getRecordPositionInfile(expectedIdentifier2);

    /*
     * delete #2
     */
    identifier = new DataRecordIdentifier(2);
    assertTrue("must delete #2",
        heapDataManager.deleteDataRecord(identifier));
    heapDataManager.flush();
    if (manageRecordPositionInFile()) {
      final long lastRecordPositionInFile = heapDataManager
          .getLastRecordPositionInFile();
      assertEquals(LAST_RECORD_MISMATCH, record2PositionInFile,
          lastRecordPositionInFile);
    }

    /*
     * delete #1
     */
    identifier = new DataRecordIdentifier(1);
    assertTrue(MUST_DELETE_1, heapDataManager.deleteDataRecord(identifier));
    heapDataManager.flush();
    if (manageFreeRecord()) {
      final long lastRecordPositionInFile = heapDataManager
          .getLastRecordPositionInFile();
View Full Code Here

    }
  }

  public void testRecordFreeing3() throws HeapException {
    createHeap(true);
    DataRecordIdentifier identifier = heapDataManager
        .getNewDataRecordIdentifier();
    byte[] data = new byte[100];
    heapDataManager.writeDataRecord(identifier, data);

    DataRecordIdentifier expectedIdentifier = new DataRecordIdentifier(0);
    assertEquals("must create record #0", expectedIdentifier, identifier);

    identifier = heapDataManager.getNewDataRecordIdentifier();
    data = new byte[100];
    heapDataManager.writeDataRecord(identifier, data);

    expectedIdentifier = new DataRecordIdentifier(1);
    assertEquals("must create record #1", expectedIdentifier, identifier);

    identifier = heapDataManager.getNewDataRecordIdentifier();
    data = new byte[100];
    heapDataManager.writeDataRecord(identifier, data);

    expectedIdentifier = new DataRecordIdentifier(2);
    assertEquals("must create record #2", expectedIdentifier, identifier);

    identifier = new DataRecordIdentifier(0);
    assertTrue(MUST_DELETE_0, heapDataManager.deleteDataRecord(identifier));
    identifier = new DataRecordIdentifier(2);
    assertTrue("must delete #2",
        heapDataManager.deleteDataRecord(identifier));
    heapDataManager.flush();
    identifier = new DataRecordIdentifier(1);
    assertTrue(MUST_DELETE_1, heapDataManager.deleteDataRecord(identifier));
  }
View Full Code Here

  public void testRemoveFirst() throws HeapException {
    createHeap(true);
    assertNull(MUST_NOT_HAVE_DATA_RECORD,
        heapDataManager.removeFirstDataRecord());
    DataRecordIdentifier identifier = heapDataManager
        .getNewDataRecordIdentifier();
    final byte[] data = new byte[100];
    heapDataManager.writeDataRecord(identifier, data);
    identifier = heapDataManager.getNewDataRecordIdentifier();
    heapDataManager.writeDataRecord(identifier, data);
View Full Code Here

        heapDataManager.removeFirstDataRecord());
  }

  public void testEmptyData() throws HeapException {
    createHeap(true);
    final DataRecordIdentifier identifier = heapDataManager
        .getNewDataRecordIdentifier();
    final byte[] data = new byte[0];
    heapDataManager.writeDataRecord(identifier, data);
    heapDataManager.flush();
    final byte[] readData = heapDataManager.readDataRecord(identifier);
View Full Code Here

  public void testUseAsAMap() throws HeapException {
    final DataRecordKeyManager keyManager = DataRecordKeyManager
        .getInstance();
    createFileHeapDataManager(true);
    heapDataManager.setDataRecordKeyManager(keyManager);
    final DataRecordIdentifier keyA = keyManager.createKey("A");
    assertFalse("must not found 'A'", heapDataManager.hasDataRecord(keyA));
    final byte[] dataA = "valueA".getBytes();
    heapDataManager.writeDataRecord(keyA, dataA);
    assertTrue("must found 'A'", heapDataManager.hasDataRecord(keyA));
    final byte[] readDataA = heapDataManager.readDataRecord(keyA);
View Full Code Here

  @Override
  protected DataRecordIdentifier removeFirstDataRecordImpl()
      throws HeapException {
    final Iterator<DataRecordIdentifier> iterator = fileRecordMap.keySet()
        .iterator();
    final DataRecordIdentifier dataRecordIdentifier;
    if (iterator.hasNext()) {
      dataRecordIdentifier = iterator.next();
      deleteDataRecordImpl(dataRecordIdentifier);
    } else {
      dataRecordIdentifier = null;
View Full Code Here

  }

  @Override
  public DataRecordIdentifier getNewDataRecordIdentifierImpl()
      throws HeapException {
    final DataRecordIdentifier identifier = nextFreeIdentifier;
    nextFreeIdentifier = new DataRecordIdentifier(identifier);
    if (logger.debugEnabled) {
      dataRecordIdentifierCreatedList.add(identifier);
    }
    return identifier;
  }
View Full Code Here

TOP

Related Classes of net.sf.joafip.kvstore.record.entity.DataRecordIdentifier

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.