public void test_nonEmptyJournal() throws IOException, InterruptedException, ExecutionException {
  final File out=File.createTempFile(getName(),Options.JNL);
  try {
    final Journal src=getStore(getProperties());
    try {
      if (!(src.getBufferStrategy() instanceof IHABufferStrategy)) {
        return;
      }
      src.write(getRandomData(128));
      src.commit();
      try {
        final ISnapshotFactory snapshotFactory=new MySnapshotFactory(getName(),false);
        final Future<ISnapshotResult> f=src.snapshot(snapshotFactory);
        final ISnapshotResult snapshotResult=f.get();
        final File snapshotFile=snapshotResult.getFile();
        try {
          final Journal tmp=openSnapshot(snapshotResult);
          assertEquals(src.getRootBlockView(),tmp.getRootBlockView());
          tmp.destroy();
        }
  finally {
          if (snapshotFile.exists()) {
            snapshotFile.delete();
          }
        }
      }
 catch (      IllegalArgumentException ex) {
        log.info("Ignoring expected exception: " + ex);
      }
    }
  finally {
      src.destroy();
    }
  }
  finally {
    out.delete();
  }
}

public void test_nonEmptyJournal ( ) throws IOException , InterruptedException , ExecutionException { final File out = File . createTempFile ( getName ( ) , Options . JNL ) ; try { final Journal src = getStore ( getProperties ( ) ) ; try { if ( ! ( src . getBufferStrategy ( ) instanceof IHABufferStrategy ) ) { return ; } src . write ( getRandomData ( 128 ) ) ; src . commit ( ) ; try { final ISnapshotFactory snapshotFactory = new MySnapshotFactory ( getName ( ) , false ) ; final Future < ISnapshotResult > f = src . snapshot ( snapshotFactory ) ; final ISnapshotResult snapshotResult = f . get ( ) ; final File snapshotFile = snapshotResult . getFile ( ) ; try { final Journal tmp = openSnapshot ( snapshotResult ) ; assertEquals ( src . getRootBlockView ( ) , tmp . getRootBlockView ( ) ) ; tmp . destroy ( ) ; } finally { if ( snapshotFile . exists ( ) ) { snapshotFile . delete ( ) ; } } } catch ( IllegalArgumentException ex ) { log . info ( "Ignoring expected exception: " + ex ) ; } } finally { src . destroy ( ) ; } } finally { out . delete ( ) ; } }
verifies exception if there are no commits on the journal ( the lastcommittime will be zero which does not identify a valid commit point ) .
