[Joafip-svn] SF.net SVN: joafip:[2966] trunk/joafip-4test/src/main/java/net/sf/joafip
Brought to you by:
luc_peuvrier
|
From: <luc...@us...> - 2011-11-12 16:55:30
|
Revision: 2966
http://joafip.svn.sourceforge.net/joafip/?rev=2966&view=rev
Author: luc_peuvrier
Date: 2011-11-12 16:55:23 +0000 (Sat, 12 Nov 2011)
Log Message:
-----------
added tests for export/import
Modified Paths:
--------------
trunk/joafip-4test/src/main/java/net/sf/joafip/performance/items/entity/Item.java
trunk/joafip-4test/src/main/java/net/sf/joafip/performance/items/service/AbstractInserter.java
trunk/joafip-4test/src/main/java/net/sf/joafip/performance/items/service/AbstractPerfService.java
trunk/joafip-4test/src/main/java/net/sf/joafip/performance/items/service/AbstractSearcher.java
Added Paths:
-----------
trunk/joafip-4test/src/main/java/net/sf/joafip/bugtree/
trunk/joafip-4test/src/main/java/net/sf/joafip/bugtree/AbstractBugTree.java
trunk/joafip-4test/src/main/java/net/sf/joafip/bugtree/MainCountMmf.java
trunk/joafip-4test/src/main/java/net/sf/joafip/bugtree/MainTreeBlockFile.java
trunk/joafip-4test/src/main/java/net/sf/joafip/bugtree/MainTreeDual.java
trunk/joafip-4test/src/main/java/net/sf/joafip/bugtree/MainTreeHeapFile.java
trunk/joafip-4test/src/main/java/net/sf/joafip/bugtree/MainTreeHeapFileNoAutoSave.java
trunk/joafip-4test/src/main/java/net/sf/joafip/bugtree/MainTreeHeapFileNoCache.java
trunk/joafip-4test/src/main/java/net/sf/joafip/bugtree/MainTreeMem.java
trunk/joafip-4test/src/main/java/net/sf/joafip/bugtree/MainTreeMultiFile.java
trunk/joafip-4test/src/main/java/net/sf/joafip/bugtree/Tree.java
trunk/joafip-4test/src/main/java/net/sf/joafip/bugtree/TreeMem.java
trunk/joafip-4test/src/main/java/net/sf/joafip/performance/items/service/ExporterBKM.java
trunk/joafip-4test/src/main/java/net/sf/joafip/performance/items/service/InserterBKM.java
trunk/joafip-4test/src/main/java/net/sf/joafip/performance/items/service/SearcherBKM.java
Added: trunk/joafip-4test/src/main/java/net/sf/joafip/bugtree/AbstractBugTree.java
===================================================================
--- trunk/joafip-4test/src/main/java/net/sf/joafip/bugtree/AbstractBugTree.java (rev 0)
+++ trunk/joafip-4test/src/main/java/net/sf/joafip/bugtree/AbstractBugTree.java 2011-11-12 16:55:23 UTC (rev 2966)
@@ -0,0 +1,38 @@
+package net.sf.joafip.bugtree;
+
+import net.sf.joafip.NotStorableClass;
+import net.sf.joafip.StorableAccess;
+import net.sf.joafip.redblacktree.service.RBTException;
+
+@NotStorableClass
+@StorableAccess
+public abstract class AbstractBugTree {
+
+ protected void appendLoop(Tree<String> tree) throws RBTException {// NOPMD
+ for (int count = 0; count < 1000000; count++) {
+ if (count % 1000 == 1) {
+ System.out.println("#" + count);// NOPMD
+ }
+ final String element = "elt #" + reverse(count);
+ tree = treeAppend(tree, count, element);
+ }
+ }
+
+ protected Tree<String> treeAppend(final Tree<String> tree, final int count,
+ final String element) throws RBTException {
+ try {
+ tree.append(element);
+ } catch (RBTException e) {
+ System.err.println("count=" + count); // NOPMD
+ throw e;
+ }
+ return tree;
+ }
+
+ private int reverse(final int value) {
+ return ((value >> 24) & 0xff) |
+ /**/(((value >> 16) & 0xff) << 8) |
+ /**/(((value >> 8) & 0xff) << 16) |
+ /**/(value << 24);
+ }
+}
Added: trunk/joafip-4test/src/main/java/net/sf/joafip/bugtree/MainCountMmf.java
===================================================================
--- trunk/joafip-4test/src/main/java/net/sf/joafip/bugtree/MainCountMmf.java (rev 0)
+++ trunk/joafip-4test/src/main/java/net/sf/joafip/bugtree/MainCountMmf.java 2011-11-12 16:55:23 UTC (rev 2966)
@@ -0,0 +1,46 @@
+package net.sf.joafip.bugtree;
+
+import java.io.File;
+
+public final class MainCountMmf {
+
+ private MainCountMmf() {
+ super();
+ }
+
+ public static void main(final String[] args) {
+ try {
+ final File root = new File("runtime/mmf");
+ while (true) {
+ File current = root;
+ current = lastDir(current, true);
+ current = lastDir(current, true);
+ current = lastDir(current, true);
+ current = lastDir(current, true);
+ current = lastDir(current, false);
+ System.out.println(current.getName()); // NOPMD
+ Thread.sleep(5000);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();// NOPMD
+ }
+ }
+
+ private static File lastDir(final File current, final boolean ofDirectory)
+ throws Exception {// NOPMD
+ if (!current.isDirectory()) {
+ throw new Exception(current + " is not a directory");// NOPMD
+ }
+ final File[] files = current.listFiles();
+ File result = null;
+ String name = "";
+ for (File file : files) {
+ if ((!ofDirectory || file.isDirectory())
+ && file.getName().compareTo(name) > 0) {
+ result = file;
+ name = file.getName();
+ }
+ }
+ return result;
+ }
+}
Added: trunk/joafip-4test/src/main/java/net/sf/joafip/bugtree/MainTreeBlockFile.java
===================================================================
--- trunk/joafip-4test/src/main/java/net/sf/joafip/bugtree/MainTreeBlockFile.java (rev 0)
+++ trunk/joafip-4test/src/main/java/net/sf/joafip/bugtree/MainTreeBlockFile.java 2011-11-12 16:55:23 UTC (rev 2966)
@@ -0,0 +1,82 @@
+package net.sf.joafip.bugtree;
+
+import net.sf.joafip.NotStorableClass;
+import net.sf.joafip.StorableAccess;
+import net.sf.joafip.heapfile.service.BlockDataManager;
+import net.sf.joafip.heapfile.service.HeapException;
+import net.sf.joafip.heapfile.service.IHeapDataManager;
+import net.sf.joafip.redblacktree.service.RBTException;
+import net.sf.joafip.service.FilePersistenceBuilder;
+import net.sf.joafip.service.FilePersistenceClassNotFoundException;
+import net.sf.joafip.service.FilePersistenceDataCorruptedException;
+import net.sf.joafip.service.FilePersistenceException;
+import net.sf.joafip.service.FilePersistenceInvalidClassException;
+import net.sf.joafip.service.FilePersistenceNotSerializableException;
+import net.sf.joafip.service.FilePersistenceTooBigForSerializationException;
+import net.sf.joafip.service.IAutoSaveEventListener;
+import net.sf.joafip.service.IExclusiveDataAccessSession;
+import net.sf.joafip.service.IFilePersistence;
+import net.sf.joafip.store.service.proxy.IInstanceFactory;
+
+@NotStorableClass
+@StorableAccess
+public final class MainTreeBlockFile extends AbstractBugTree implements
+ IAutoSaveEventListener {
+
+ private MainTreeBlockFile() {
+ super();
+ }
+
+ public static void main(final String[] args) {
+ try {
+ final MainTreeBlockFile main = new MainTreeBlockFile();
+ main.run();
+ } catch (Exception e) {
+ e.printStackTrace();// NOPMD
+ }
+ }
+
+ @SuppressWarnings("unchecked")
+ private void run() throws FilePersistenceException,
+ FilePersistenceInvalidClassException,
+ FilePersistenceNotSerializableException,
+ FilePersistenceClassNotFoundException,
+ FilePersistenceDataCorruptedException,
+ FilePersistenceTooBigForSerializationException, RBTException,
+ HeapException {
+ final FilePersistenceBuilder builder = new FilePersistenceBuilder();
+ final IHeapDataManager dataManager = new BlockDataManager(10 * 1024, 10 * 1024,1024);
+ builder.setDataManager(dataManager);
+ builder.setProxyMode(true);
+ builder.setRemoveFiles(true);
+ builder.setCrashSafeMode(false);
+ builder.setGarbageManagement(false);
+ builder.setAutoSaveEnabled(true);
+ builder.setMaxInMemoryThreshold(1000);
+ builder.setMaintenedInMemory(false);
+ // builder.setMaintenedInMemoryQuota(100);
+ final IFilePersistence filePersistence = builder.build();
+ filePersistence.setAutoSaveEventListener(this);
+ final IExclusiveDataAccessSession session = filePersistence
+ .createExclusiveDataAccessSession();
+ final IInstanceFactory instanceFactory = session.getInstanceFactory();
+
+ session.open();
+ final Tree<String> tree = Tree.newInstance(instanceFactory);
+ appendLoop(tree);
+ session.close();
+ filePersistence.close();
+ }
+
+ @Override
+ public boolean doSave() {
+ return true;
+ }
+
+ @Override
+ public void saveDone(final int numberOfObjectState,
+ final int numberOfWeakreference, final long msDuration) {
+ System.out.println("n=" + numberOfObjectState + " w="// NOPMD
+ + numberOfWeakreference + " t=" + msDuration + " mS");
+ }
+}
Added: trunk/joafip-4test/src/main/java/net/sf/joafip/bugtree/MainTreeDual.java
===================================================================
--- trunk/joafip-4test/src/main/java/net/sf/joafip/bugtree/MainTreeDual.java (rev 0)
+++ trunk/joafip-4test/src/main/java/net/sf/joafip/bugtree/MainTreeDual.java 2011-11-12 16:55:23 UTC (rev 2966)
@@ -0,0 +1,98 @@
+package net.sf.joafip.bugtree;
+
+import java.io.File;
+
+import net.sf.joafip.NotStorableClass;
+import net.sf.joafip.StorableAccess;
+import net.sf.joafip.TestException;
+import net.sf.joafip.heapfile.entity.HeapFileSetup;
+import net.sf.joafip.heapfile.service.BlockDataManager;
+import net.sf.joafip.heapfile.service.DualWrapDataManager;
+import net.sf.joafip.heapfile.service.HeapException;
+import net.sf.joafip.heapfile.service.HeapFileDataManager;
+import net.sf.joafip.heapfile.service.IHeapDataManager;
+import net.sf.joafip.redblacktree.service.RBTException;
+import net.sf.joafip.service.FilePersistenceBuilder;
+import net.sf.joafip.service.FilePersistenceClassNotFoundException;
+import net.sf.joafip.service.FilePersistenceDataCorruptedException;
+import net.sf.joafip.service.FilePersistenceException;
+import net.sf.joafip.service.FilePersistenceInvalidClassException;
+import net.sf.joafip.service.FilePersistenceNotSerializableException;
+import net.sf.joafip.service.FilePersistenceTooBigForSerializationException;
+import net.sf.joafip.service.IAutoSaveEventListener;
+import net.sf.joafip.service.IExclusiveDataAccessSession;
+import net.sf.joafip.service.IFilePersistence;
+import net.sf.joafip.store.service.proxy.IInstanceFactory;
+
+@NotStorableClass
+@StorableAccess
+public final class MainTreeDual extends AbstractBugTree implements
+ IAutoSaveEventListener {
+
+ private MainTreeDual() {
+ super();
+ }
+
+ public static void main(final String[] args) {
+ try {
+ final MainTreeDual main = new MainTreeDual();
+ main.run();
+ } catch (Exception e) {
+ e.printStackTrace();// NOPMD
+ }
+ }
+
+ @SuppressWarnings("unchecked")
+ private void run() throws FilePersistenceException,
+ FilePersistenceInvalidClassException,
+ FilePersistenceNotSerializableException,
+ FilePersistenceClassNotFoundException,
+ FilePersistenceDataCorruptedException,
+ FilePersistenceTooBigForSerializationException, RBTException,
+ HeapException, TestException {
+ final FilePersistenceBuilder builder = new FilePersistenceBuilder();
+ final String dir = "runtime";//TestConstant.getWinRamDiskRuntimeDir();
+ final IHeapDataManager blockDataManager = new BlockDataManager(dir+"/data",1024);
+// 10 * 1024, 10 * 1024);
+ final HeapFileSetup setup = new HeapFileSetup(new File(dir+"/store.data"), false/*crashSafeMode*/,
+ false/*useCacheMode*/,false/*deleteRenaming*/, false/*clearResizeFile*/,
+ 0/*maxFileOperationRetry*/,0/*fileOperationRetryMsDelay*/,
+ new File("runtime/openFileTraceFile.txt"));
+ final IHeapDataManager fileDataManager = new HeapFileDataManager(setup);
+
+ builder.setDataManager(new DualWrapDataManager(fileDataManager,
+ blockDataManager));
+
+ builder.setProxyMode(true);
+ builder.setRemoveFiles(true);
+ builder.setCrashSafeMode(false);
+ builder.setGarbageManagement(false);
+ builder.setAutoSaveEnabled(true);
+ builder.setMaxInMemoryThreshold(1000);
+ builder.setMaintenedInMemory(false);
+ // builder.setMaintenedInMemoryQuota(100);
+ final IFilePersistence filePersistence = builder.build();
+ filePersistence.setAutoSaveEventListener(this);
+ final IExclusiveDataAccessSession session = filePersistence
+ .createExclusiveDataAccessSession();
+ final IInstanceFactory instanceFactory = session.getInstanceFactory();
+
+ session.open();
+ final Tree<String> tree = Tree.newInstance(instanceFactory);
+ appendLoop(tree);
+ session.close();
+ filePersistence.close();
+ }
+
+ @Override
+ public boolean doSave() {
+ return true;
+ }
+
+ @Override
+ public void saveDone(final int numberOfObjectState,
+ final int numberOfWeakreference, final long msDuration) {
+ System.out.println("n=" + numberOfObjectState + " w="// NOPMD
+ + numberOfWeakreference + " t=" + msDuration + " mS");
+ }
+}
Added: trunk/joafip-4test/src/main/java/net/sf/joafip/bugtree/MainTreeHeapFile.java
===================================================================
--- trunk/joafip-4test/src/main/java/net/sf/joafip/bugtree/MainTreeHeapFile.java (rev 0)
+++ trunk/joafip-4test/src/main/java/net/sf/joafip/bugtree/MainTreeHeapFile.java 2011-11-12 16:55:23 UTC (rev 2966)
@@ -0,0 +1,63 @@
+package net.sf.joafip.bugtree;
+
+import net.sf.joafip.NotStorableClass;
+import net.sf.joafip.StorableAccess;
+import net.sf.joafip.redblacktree.service.RBTException;
+import net.sf.joafip.service.FilePersistenceBuilder;
+import net.sf.joafip.service.FilePersistenceClassNotFoundException;
+import net.sf.joafip.service.FilePersistenceDataCorruptedException;
+import net.sf.joafip.service.FilePersistenceException;
+import net.sf.joafip.service.FilePersistenceInvalidClassException;
+import net.sf.joafip.service.FilePersistenceNotSerializableException;
+import net.sf.joafip.service.FilePersistenceTooBigForSerializationException;
+import net.sf.joafip.service.IExclusiveDataAccessSession;
+import net.sf.joafip.service.IFilePersistence;
+import net.sf.joafip.store.service.proxy.IInstanceFactory;
+
+@NotStorableClass
+@StorableAccess
+public final class MainTreeHeapFile extends AbstractBugTree {
+
+ private MainTreeHeapFile() {
+ super();
+ }
+
+ public static void main(final String[] args) {
+ try {
+ final MainTreeHeapFile main = new MainTreeHeapFile();
+ main.run();
+ } catch (Exception e) {
+ e.printStackTrace();// NOPMD
+ }
+ }
+
+ @SuppressWarnings("unchecked")
+ private void run() throws FilePersistenceException,
+ FilePersistenceInvalidClassException,
+ FilePersistenceNotSerializableException,
+ FilePersistenceClassNotFoundException,
+ FilePersistenceDataCorruptedException,
+ FilePersistenceTooBigForSerializationException, RBTException {
+ final FilePersistenceBuilder builder = new FilePersistenceBuilder();
+ builder.setPathName("runtime");
+ builder.setFileCache(10 * 1024, 10 * 1024);
+ builder.setProxyMode(true);
+ builder.setRemoveFiles(true);
+ builder.setCrashSafeMode(false);
+ builder.setGarbageManagement(false);
+ builder.setAutoSaveEnabled(true);
+ builder.setMaxInMemoryThreshold(1000);
+ builder.setMaintenedInMemory(false);
+ // builder.setMaintenedInMemoryQuota(100);
+ final IFilePersistence filePersistence = builder.build();
+ final IExclusiveDataAccessSession session = filePersistence
+ .createExclusiveDataAccessSession();
+ final IInstanceFactory instanceFactory = session.getInstanceFactory();
+
+ session.open();
+ final Tree<String> tree = Tree.newInstance(instanceFactory);
+ appendLoop(tree);
+ session.close();
+ filePersistence.close();
+ }
+}
Added: trunk/joafip-4test/src/main/java/net/sf/joafip/bugtree/MainTreeHeapFileNoAutoSave.java
===================================================================
--- trunk/joafip-4test/src/main/java/net/sf/joafip/bugtree/MainTreeHeapFileNoAutoSave.java (rev 0)
+++ trunk/joafip-4test/src/main/java/net/sf/joafip/bugtree/MainTreeHeapFileNoAutoSave.java 2011-11-12 16:55:23 UTC (rev 2966)
@@ -0,0 +1,86 @@
+package net.sf.joafip.bugtree;
+
+import net.sf.joafip.NotStorableClass;
+import net.sf.joafip.StorableAccess;
+import net.sf.joafip.entity.EnumFilePersistenceCloseAction;
+import net.sf.joafip.redblacktree.service.RBTException;
+import net.sf.joafip.service.FilePersistenceBuilder;
+import net.sf.joafip.service.FilePersistenceClassNotFoundException;
+import net.sf.joafip.service.FilePersistenceDataCorruptedException;
+import net.sf.joafip.service.FilePersistenceException;
+import net.sf.joafip.service.FilePersistenceInvalidClassException;
+import net.sf.joafip.service.FilePersistenceNotSerializableException;
+import net.sf.joafip.service.FilePersistenceTooBigForSerializationException;
+import net.sf.joafip.service.IDataAccessSession;
+import net.sf.joafip.service.IFilePersistence;
+
+@NotStorableClass
+@StorableAccess
+public final class MainTreeHeapFileNoAutoSave extends AbstractBugTree {
+
+ private IDataAccessSession session;
+
+ private MainTreeHeapFileNoAutoSave() {
+ super();
+ }
+
+ public static void main(final String[] args) {
+ try {
+ final MainTreeHeapFileNoAutoSave main = new MainTreeHeapFileNoAutoSave();
+ main.run();
+ } catch (Exception e) {
+ e.printStackTrace();// NOPMD
+ }
+ }
+
+ @SuppressWarnings("unchecked")
+ private void run() throws FilePersistenceException,
+ FilePersistenceInvalidClassException,
+ FilePersistenceNotSerializableException,
+ FilePersistenceClassNotFoundException,
+ FilePersistenceDataCorruptedException,
+ FilePersistenceTooBigForSerializationException, RBTException {
+ final FilePersistenceBuilder builder = new FilePersistenceBuilder();
+ builder.setPathName("runtime");
+ builder.setFileCache(10 * 1024, 10 * 1024);
+ builder.setProxyMode(true);
+ builder.setRemoveFiles(true);
+ builder.setCrashSafeMode(false);
+ builder.setGarbageManagement(false);
+ // builder.setAutoSaveEnabled(true);
+ // builder.setMaxInMemoryThreshold(1000);
+ // builder.setMaintenedInMemory(false);
+ // // builder.setMaintenedInMemoryQuota(100);
+ final IFilePersistence filePersistence = builder.build();
+ session = filePersistence.createDataAccessSession();
+
+ session.open();
+ Tree<String> tree = new Tree<String>();
+ session.setObject("key", tree);
+ session.close(EnumFilePersistenceCloseAction.SAVE);
+
+ session.open();
+ tree = (Tree<String>) session.getObject("key");
+ appendLoop(tree);
+ session.close(EnumFilePersistenceCloseAction.SAVE);
+ filePersistence.close();
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ protected Tree<String> treeAppend(final Tree<String> tree, final int count,
+ final String element) throws RBTException {
+ Tree<String> newTree = super.treeAppend(tree, count, element);
+ if (count % 1000 == 1) {
+ try {
+ session.close(EnumFilePersistenceCloseAction.SAVE);
+ session.open();
+ newTree = (Tree<String>) session.getObject("key");
+ } catch (Exception exception) {
+ throw new RBTException(exception);
+ }
+ }
+ return newTree;
+ }
+
+}
Added: trunk/joafip-4test/src/main/java/net/sf/joafip/bugtree/MainTreeHeapFileNoCache.java
===================================================================
--- trunk/joafip-4test/src/main/java/net/sf/joafip/bugtree/MainTreeHeapFileNoCache.java (rev 0)
+++ trunk/joafip-4test/src/main/java/net/sf/joafip/bugtree/MainTreeHeapFileNoCache.java 2011-11-12 16:55:23 UTC (rev 2966)
@@ -0,0 +1,62 @@
+package net.sf.joafip.bugtree;
+
+import net.sf.joafip.NotStorableClass;
+import net.sf.joafip.StorableAccess;
+import net.sf.joafip.redblacktree.service.RBTException;
+import net.sf.joafip.service.FilePersistenceBuilder;
+import net.sf.joafip.service.FilePersistenceClassNotFoundException;
+import net.sf.joafip.service.FilePersistenceDataCorruptedException;
+import net.sf.joafip.service.FilePersistenceException;
+import net.sf.joafip.service.FilePersistenceInvalidClassException;
+import net.sf.joafip.service.FilePersistenceNotSerializableException;
+import net.sf.joafip.service.FilePersistenceTooBigForSerializationException;
+import net.sf.joafip.service.IExclusiveDataAccessSession;
+import net.sf.joafip.service.IFilePersistence;
+import net.sf.joafip.store.service.proxy.IInstanceFactory;
+
+@NotStorableClass
+@StorableAccess
+public final class MainTreeHeapFileNoCache extends AbstractBugTree {
+
+ private MainTreeHeapFileNoCache() {
+ super();
+ }
+
+ public static void main(final String[] args) {
+ try {
+ final MainTreeHeapFileNoCache main = new MainTreeHeapFileNoCache();
+ main.run();
+ } catch (Exception e) {
+ e.printStackTrace();// NOPMD
+ }
+ }
+
+ @SuppressWarnings("unchecked")
+ private void run() throws FilePersistenceException,
+ FilePersistenceInvalidClassException,
+ FilePersistenceNotSerializableException,
+ FilePersistenceClassNotFoundException,
+ FilePersistenceDataCorruptedException,
+ FilePersistenceTooBigForSerializationException, RBTException {
+ final FilePersistenceBuilder builder = new FilePersistenceBuilder();
+ builder.setPathName("runtime");
+ builder.setProxyMode(true);
+ builder.setRemoveFiles(true);
+ builder.setCrashSafeMode(false);
+ builder.setGarbageManagement(false);
+ builder.setAutoSaveEnabled(true);
+ builder.setMaxInMemoryThreshold(1000);
+ builder.setMaintenedInMemory(false);
+ // builder.setMaintenedInMemoryQuota(100);
+ final IFilePersistence filePersistence = builder.build();
+ final IExclusiveDataAccessSession session = filePersistence
+ .createExclusiveDataAccessSession();
+ final IInstanceFactory instanceFactory = session.getInstanceFactory();
+
+ session.open();
+ final Tree<String> tree = Tree.newInstance(instanceFactory);
+ appendLoop(tree);
+ session.close();
+ filePersistence.close();
+ }
+}
Added: trunk/joafip-4test/src/main/java/net/sf/joafip/bugtree/MainTreeMem.java
===================================================================
--- trunk/joafip-4test/src/main/java/net/sf/joafip/bugtree/MainTreeMem.java (rev 0)
+++ trunk/joafip-4test/src/main/java/net/sf/joafip/bugtree/MainTreeMem.java 2011-11-12 16:55:23 UTC (rev 2966)
@@ -0,0 +1,28 @@
+package net.sf.joafip.bugtree;
+
+import net.sf.joafip.NotStorableClass;
+import net.sf.joafip.StorableAccess;
+import net.sf.joafip.redblacktree.service.RBTException;
+
+@NotStorableClass
+@StorableAccess
+public final class MainTreeMem extends AbstractBugTree {
+
+ private MainTreeMem() {
+ super();
+ }
+
+ public static void main(final String[] args) {
+ try {
+ final MainTreeMem main = new MainTreeMem();
+ main.run();
+ } catch (Exception e) {
+ e.printStackTrace();// NOPMD
+ }
+ }
+
+ private void run() throws RBTException {
+ final TreeMem<String> tree = new TreeMem<String>();
+ appendLoop(tree);
+ }
+}
Added: trunk/joafip-4test/src/main/java/net/sf/joafip/bugtree/MainTreeMultiFile.java
===================================================================
--- trunk/joafip-4test/src/main/java/net/sf/joafip/bugtree/MainTreeMultiFile.java (rev 0)
+++ trunk/joafip-4test/src/main/java/net/sf/joafip/bugtree/MainTreeMultiFile.java 2011-11-12 16:55:23 UTC (rev 2966)
@@ -0,0 +1,83 @@
+package net.sf.joafip.bugtree;
+
+import java.io.File;
+
+import net.sf.joafip.NotStorableClass;
+import net.sf.joafip.StorableAccess;
+import net.sf.joafip.heapfile.service.HeapMultiFileDataManager;
+import net.sf.joafip.heapfile.service.IHeapDataManager;
+import net.sf.joafip.redblacktree.service.RBTException;
+import net.sf.joafip.service.FilePersistenceBuilder;
+import net.sf.joafip.service.FilePersistenceClassNotFoundException;
+import net.sf.joafip.service.FilePersistenceDataCorruptedException;
+import net.sf.joafip.service.FilePersistenceException;
+import net.sf.joafip.service.FilePersistenceInvalidClassException;
+import net.sf.joafip.service.FilePersistenceNotSerializableException;
+import net.sf.joafip.service.FilePersistenceTooBigForSerializationException;
+import net.sf.joafip.service.IAutoSaveEventListener;
+import net.sf.joafip.service.IExclusiveDataAccessSession;
+import net.sf.joafip.service.IFilePersistence;
+import net.sf.joafip.store.service.proxy.IInstanceFactory;
+
+@NotStorableClass
+@StorableAccess
+public final class MainTreeMultiFile extends AbstractBugTree implements
+ IAutoSaveEventListener {
+
+ private MainTreeMultiFile() {
+ super();
+ }
+
+ public static void main(final String[] args) {
+ try {
+ final MainTreeMultiFile main = new MainTreeMultiFile();
+ main.run();
+ } catch (Exception e) {
+ e.printStackTrace();// NOPMD
+ }
+ }
+
+ @SuppressWarnings("unchecked")
+ private void run() throws FilePersistenceException,
+ FilePersistenceInvalidClassException,
+ FilePersistenceNotSerializableException,
+ FilePersistenceClassNotFoundException,
+ FilePersistenceDataCorruptedException,
+ FilePersistenceTooBigForSerializationException, RBTException {
+ final FilePersistenceBuilder builder = new FilePersistenceBuilder();
+ final IHeapDataManager dataManager = new HeapMultiFileDataManager(
+ new File("runtime/mmf"));
+ builder.setDataManager(dataManager);
+ builder.setProxyMode(true);
+ builder.setRemoveFiles(true);
+ builder.setCrashSafeMode(false);
+ builder.setGarbageManagement(false);
+ builder.setAutoSaveEnabled(true);
+ builder.setMaxInMemoryThreshold(1000);
+ builder.setMaintenedInMemory(false);
+ // builder.setMaintenedInMemoryQuota(100);
+ final IFilePersistence filePersistence = builder.build();
+ filePersistence.setAutoSaveEventListener(this);
+ final IExclusiveDataAccessSession session = filePersistence
+ .createExclusiveDataAccessSession();
+ final IInstanceFactory instanceFactory = session.getInstanceFactory();
+
+ session.open();
+ final Tree<String> tree = Tree.newInstance(instanceFactory);
+ appendLoop(tree);
+ session.close();
+ filePersistence.close();
+ }
+
+ @Override
+ public boolean doSave() {
+ return true;
+ }
+
+ @Override
+ public void saveDone(final int numberOfObjectState,
+ final int numberOfWeakreference, final long msDuration) {
+ System.out.println("n=" + numberOfObjectState + " w="//NOPMD
+ + numberOfWeakreference + " t=" + msDuration + " mS");
+ }
+}
Added: trunk/joafip-4test/src/main/java/net/sf/joafip/bugtree/Tree.java
===================================================================
--- trunk/joafip-4test/src/main/java/net/sf/joafip/bugtree/Tree.java (rev 0)
+++ trunk/joafip-4test/src/main/java/net/sf/joafip/bugtree/Tree.java 2011-11-12 16:55:23 UTC (rev 2966)
@@ -0,0 +1,54 @@
+package net.sf.joafip.bugtree;
+
+import net.sf.joafip.AssertNotNull;
+import net.sf.joafip.StorableClass;
+import net.sf.joafip.redblacktree.entity.IRBTNode;
+import net.sf.joafip.redblacktree.impl.memory.entity.RBTNode;
+import net.sf.joafip.redblacktree.impl.memory.service.RBTNodeManager;
+import net.sf.joafip.redblacktree.service.RBTException;
+import net.sf.joafip.redblacktree.service.RedBlackTree;
+import net.sf.joafip.store.service.proxy.IInstanceFactory;
+
+@StorableClass
+public class Tree<E> {
+
+ @AssertNotNull
+ protected final RedBlackTree<E> redBlackTree;
+
+ protected final transient IInstanceFactory instanceFactory;
+
+ @SuppressWarnings("unchecked")
+ public Tree(final IInstanceFactory instanceFactory) {
+ super();
+ this.instanceFactory = instanceFactory;
+ final RBTNodeManager<E> nodeManager = RBTNodeManager
+ .newInstance(instanceFactory);
+ redBlackTree = RedBlackTree.newInstance(instanceFactory, nodeManager,
+ true/* manageNodeIndex */, true/* unique value */);
+
+ }
+
+ public Tree() {
+ this(null);
+ }
+
+ @SuppressWarnings("rawtypes")
+ public static Tree newInstance(final IInstanceFactory instanceFactory) {
+ final Tree newInstance;
+ if (instanceFactory == null) {
+ newInstance = new Tree(instanceFactory);
+ } else {
+ newInstance = (Tree) instanceFactory.newInstance(Tree.class,
+ new Class<?>[] { IInstanceFactory.class },
+ new Object[] { instanceFactory });
+ }
+ return newInstance;
+ }
+
+ @SuppressWarnings("unchecked")
+ public void append(final E element) throws RBTException {
+ final IRBTNode<E> nodeToAppend = RBTNode.newInstance(instanceFactory,
+ element);
+ redBlackTree.append(nodeToAppend);
+ }
+}
Added: trunk/joafip-4test/src/main/java/net/sf/joafip/bugtree/TreeMem.java
===================================================================
--- trunk/joafip-4test/src/main/java/net/sf/joafip/bugtree/TreeMem.java (rev 0)
+++ trunk/joafip-4test/src/main/java/net/sf/joafip/bugtree/TreeMem.java 2011-11-12 16:55:23 UTC (rev 2966)
@@ -0,0 +1,29 @@
+package net.sf.joafip.bugtree;
+
+import net.sf.joafip.AssertNotNull;
+import net.sf.joafip.StorableClass;
+import net.sf.joafip.redblacktree.entity.IRBTNode;
+import net.sf.joafip.redblacktree.impl.memory.entity.RBTNode;
+import net.sf.joafip.redblacktree.impl.memory.service.RBTNodeManager;
+import net.sf.joafip.redblacktree.service.RBTException;
+import net.sf.joafip.redblacktree.service.RedBlackTree;
+
+@StorableClass
+public class TreeMem<E> extends Tree<E>{
+
+ @AssertNotNull
+ protected final RedBlackTree<E> redBlackTree;
+
+ public TreeMem() {
+ super(null);
+ final RBTNodeManager<E> nodeManager = new RBTNodeManager<E>();
+ redBlackTree = new RedBlackTree<E>(nodeManager,
+ true/* manageNodeIndex */, true/* unique value */);
+
+ }
+
+ public void append(final E element) throws RBTException {
+ final IRBTNode<E> nodeToAppend = new RBTNode<E>(element);
+ redBlackTree.append(nodeToAppend);
+ }
+}
Modified: trunk/joafip-4test/src/main/java/net/sf/joafip/performance/items/entity/Item.java
===================================================================
--- trunk/joafip-4test/src/main/java/net/sf/joafip/performance/items/entity/Item.java 2011-11-12 16:54:06 UTC (rev 2965)
+++ trunk/joafip-4test/src/main/java/net/sf/joafip/performance/items/entity/Item.java 2011-11-12 16:55:23 UTC (rev 2966)
@@ -74,7 +74,7 @@
} else {
value = "" + valueFromItem;
}
- itemState = item.itemState;
+ itemState = item.getItemState();
}
public String getValue() {
Modified: trunk/joafip-4test/src/main/java/net/sf/joafip/performance/items/service/AbstractInserter.java
===================================================================
--- trunk/joafip-4test/src/main/java/net/sf/joafip/performance/items/service/AbstractInserter.java 2011-11-12 16:54:06 UTC (rev 2965)
+++ trunk/joafip-4test/src/main/java/net/sf/joafip/performance/items/service/AbstractInserter.java 2011-11-12 16:55:23 UTC (rev 2966)
@@ -39,6 +39,7 @@
import net.sf.joafip.entity.EnumFilePersistenceCloseAction;
import net.sf.joafip.file.entity.PageNode;
import net.sf.joafip.file.service.RandomAccessFileReadWriteCache;
+import net.sf.joafip.heapfile.service.IHeapDataManager;
import net.sf.joafip.java.util.PLinkedTreeSet;
import net.sf.joafip.meminspector.service.MemInspectorException;
import net.sf.joafip.meminspector.service.inspect.MemInspector;
@@ -104,6 +105,15 @@
super(pathName);
}
+ public AbstractInserter(final IHeapDataManager dataManager)
+ throws FilePersistenceInvalidClassException,
+ FilePersistenceNotSerializableException,
+ FilePersistenceClassNotFoundException,
+ FilePersistenceDataCorruptedException, FilePersistenceException,
+ FilePersistenceTooBigForSerializationException {
+ super(dataManager);
+ }
+
protected void run(final int numberOfItem) throws FilePersistenceException,
StoreException, FilePersistenceClassNotFoundException,
FilePersistenceInvalidClassException,
Modified: trunk/joafip-4test/src/main/java/net/sf/joafip/performance/items/service/AbstractPerfService.java
===================================================================
--- trunk/joafip-4test/src/main/java/net/sf/joafip/performance/items/service/AbstractPerfService.java 2011-11-12 16:54:06 UTC (rev 2965)
+++ trunk/joafip-4test/src/main/java/net/sf/joafip/performance/items/service/AbstractPerfService.java 2011-11-12 16:55:23 UTC (rev 2966)
@@ -22,6 +22,7 @@
import net.sf.joafip.StorableAccess;
import net.sf.joafip.entity.EnumFilePersistenceCloseAction;
import net.sf.joafip.heapfile.entity.EnumFileState;
+import net.sf.joafip.heapfile.service.IHeapDataManager;
import net.sf.joafip.logger.JoafipLogger;
import net.sf.joafip.performance.items.entity.ItemList;
import net.sf.joafip.performance.items.entity.ItemTemplateList;
@@ -77,6 +78,10 @@
protected int byItemIndex;
+ private final String pathName;
+
+ private final IHeapDataManager dataManager;
+
public AbstractPerfService(final String pathName)
throws FilePersistenceException,
FilePersistenceInvalidClassException,
@@ -85,9 +90,35 @@
FilePersistenceDataCorruptedException, StoreClassNotFoundException,
FilePersistenceTooBigForSerializationException {
super();
+ this.pathName = pathName;
+ this.dataManager = null;// NOPMD
+ initialize();
+ }
+
+ public AbstractPerfService(final IHeapDataManager dataManager)
+ throws FilePersistenceInvalidClassException,
+ FilePersistenceNotSerializableException,
+ FilePersistenceClassNotFoundException,
+ FilePersistenceDataCorruptedException, FilePersistenceException,
+ FilePersistenceTooBigForSerializationException {
+ super();
+ this.dataManager = dataManager;
+ this.pathName = null;// NOPMD
+ initialize();
+ }
+
+ private void initialize() throws FilePersistenceInvalidClassException,
+ FilePersistenceNotSerializableException,
+ FilePersistenceClassNotFoundException,
+ FilePersistenceDataCorruptedException, FilePersistenceException,
+ FilePersistenceTooBigForSerializationException {
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
try {
- builder.setPathName(pathName);
+ if (dataManager == null) {
+ builder.setPathName(pathName);
+ } else {
+ builder.setDataManager(dataManager);
+ }
builder.setRemoveFiles(false);
builder.setProxyMode(true);
builder.setCrashSafeMode(CRASH_SAFE_MODE);
Modified: trunk/joafip-4test/src/main/java/net/sf/joafip/performance/items/service/AbstractSearcher.java
===================================================================
--- trunk/joafip-4test/src/main/java/net/sf/joafip/performance/items/service/AbstractSearcher.java 2011-11-12 16:54:06 UTC (rev 2965)
+++ trunk/joafip-4test/src/main/java/net/sf/joafip/performance/items/service/AbstractSearcher.java 2011-11-12 16:55:23 UTC (rev 2966)
@@ -30,6 +30,7 @@
import java.util.List;
import net.sf.joafip.entity.EnumFilePersistenceCloseAction;
+import net.sf.joafip.heapfile.service.IHeapDataManager;
import net.sf.joafip.logger.JoafipLogger;
import net.sf.joafip.performance.items.entity.ItemList;
import net.sf.joafip.service.FilePersistenceClassNotFoundException;
@@ -60,6 +61,15 @@
super(pathName);
}
+ public AbstractSearcher(final IHeapDataManager dataManager)
+ throws FilePersistenceInvalidClassException,
+ FilePersistenceNotSerializableException,
+ FilePersistenceClassNotFoundException,
+ FilePersistenceDataCorruptedException, FilePersistenceException,
+ FilePersistenceTooBigForSerializationException {
+ super(dataManager);
+ }
+
protected void run() throws FilePersistenceException,
FilePersistenceClassNotFoundException,
FilePersistenceInvalidClassException,
Added: trunk/joafip-4test/src/main/java/net/sf/joafip/performance/items/service/ExporterBKM.java
===================================================================
--- trunk/joafip-4test/src/main/java/net/sf/joafip/performance/items/service/ExporterBKM.java (rev 0)
+++ trunk/joafip-4test/src/main/java/net/sf/joafip/performance/items/service/ExporterBKM.java 2011-11-12 16:55:23 UTC (rev 2966)
@@ -0,0 +1,105 @@
+/*
+ * Copyright 2010 Luc Peuvrier
+ *
+ * This file is a part of JOAFIP.
+ *
+ * JOAFIP is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License.
+ *
+ * Licensed under the GNU LESSER GENERAL PUBLIC LICENSE
+ * Licensed under the LGPL License, Version 3, 29 June 2007 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.gnu.org/licenses/lgpl.html
+ *
+ * JOAFIP is distributed in the hope that it will be useful, but
+ * unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package net.sf.joafip.performance.items.service;
+
+import net.sf.joafip.heapfile.service.BlockDataManager;
+import net.sf.joafip.heapfile.service.HeapException;
+import net.sf.joafip.heapfile.service.IHeapDataManager;
+import net.sf.joafip.logger.JoafipLogger;
+import net.sf.joafip.service.FilePersistenceBuilder;
+import net.sf.joafip.service.FilePersistenceClassNotFoundException;
+import net.sf.joafip.service.FilePersistenceDataCorruptedException;
+import net.sf.joafip.service.FilePersistenceException;
+import net.sf.joafip.service.FilePersistenceInvalidClassException;
+import net.sf.joafip.service.FilePersistenceNotSerializableException;
+import net.sf.joafip.service.FilePersistenceTooBigForSerializationException;
+import net.sf.joafip.service.IFilePersistence;
+import net.sf.joafip.store.service.export_import.out.IExporterListener;
+
+/**
+ *
+ * @author luc peuvrier
+ *
+ */
+public final class ExporterBKM implements IExporterListener {
+
+ private final static JoafipLogger LOGGER = JoafipLogger
+ .getLogger(ExporterBKM.class);
+
+ private static final String RUNTIME_DIR = "runtime_perf";
+
+ public static void main(final String[] args) {
+ try {
+ final ExporterBKM exporter = new ExporterBKM();
+ exporter.run();
+ } catch (final Throwable throwable) {// NOPMD catch all
+ LOGGER.fatal("error", throwable);
+ }
+ }
+
+ private long startTime;
+
+ private ExporterBKM() {
+ super();
+ }
+
+ private void run() throws FilePersistenceException,
+ FilePersistenceInvalidClassException,
+ FilePersistenceNotSerializableException,
+ FilePersistenceClassNotFoundException,
+ FilePersistenceDataCorruptedException,
+ FilePersistenceTooBigForSerializationException, HeapException {
+ final FilePersistenceBuilder builder = new FilePersistenceBuilder();
+ final String dataFile = RUNTIME_DIR + "/block.data";
+ final IHeapDataManager dataManager =
+ /**/new BlockDataManager(dataFile, 1024);
+ builder.setDataManager(dataManager);
+ builder.setProxyMode(true);
+ builder.setRemoveFiles(false);
+ builder.setGarbageManagement(false);
+ builder.setCrashSafeMode(false);
+ final IFilePersistence filePersistence = builder.build();
+ filePersistence.setExportListener(this);
+ final int numberOfDataRecord = filePersistence.getNumberOfDataRecord();
+ System.out.println("numberOfDataRecord=" + numberOfDataRecord); // NOPMD
+ startTime = System.currentTimeMillis();
+ filePersistence.xmlExport("runtime_perf/export", "runtime_perf/tmp",
+ false/* exportPersistedClassByteCode */);
+ System.out.println("duration " // NOPMD
+ + (System.currentTimeMillis() - startTime) + " mS");
+ filePersistence.close();
+ }
+
+ @Override
+ public int getBatchSize() {
+ return 100;
+ }
+
+ @Override
+ public void numberOfExported(final int number) {
+ final long totalDuration = System.currentTimeMillis() - startTime;
+ final float durationPerRecord = (float) totalDuration / (float) number;
+ System.out.println("exported=" + number + ", per record "// NOPMD
+ + durationPerRecord + " mS, total " + totalDuration + " mS");
+ }
+}
Added: trunk/joafip-4test/src/main/java/net/sf/joafip/performance/items/service/InserterBKM.java
===================================================================
--- trunk/joafip-4test/src/main/java/net/sf/joafip/performance/items/service/InserterBKM.java (rev 0)
+++ trunk/joafip-4test/src/main/java/net/sf/joafip/performance/items/service/InserterBKM.java 2011-11-12 16:55:23 UTC (rev 2966)
@@ -0,0 +1,76 @@
+/*
+ * Copyright 2011 Luc Peuvrier
+ *
+ * Licensed under the GNU LESSER GENERAL PUBLIC LICENSE
+ * Licensed under the LGPL License, Version 3, 29 June 2007 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.gnu.org/licenses/lgpl.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package net.sf.joafip.performance.items.service;//NOPMD
+
+import java.io.File;
+
+import net.sf.joafip.NotStorableClass;
+import net.sf.joafip.StorableAccess;
+import net.sf.joafip.heapfile.service.BlockDataManager;
+import net.sf.joafip.heapfile.service.IHeapDataManager;
+import net.sf.joafip.logger.JoafipLogger;
+import net.sf.joafip.service.FilePersistenceClassNotFoundException;
+import net.sf.joafip.service.FilePersistenceDataCorruptedException;
+import net.sf.joafip.service.FilePersistenceException;
+import net.sf.joafip.service.FilePersistenceInvalidClassException;
+import net.sf.joafip.service.FilePersistenceNotSerializableException;
+import net.sf.joafip.service.FilePersistenceTooBigForSerializationException;
+import net.sf.joafip.store.service.StoreClassNotFoundException;
+
+@SuppressWarnings("PMD")
+@NotStorableClass
+@StorableAccess
+public final class InserterBKM extends AbstractInserter {
+
+ private static final JoafipLogger LOGGER = JoafipLogger
+ .getLogger(InserterBKM.class);
+
+ private InserterBKM(final String pathName) throws FilePersistenceException,
+ FilePersistenceInvalidClassException,
+ FilePersistenceNotSerializableException,
+ FilePersistenceClassNotFoundException,
+ FilePersistenceDataCorruptedException, StoreClassNotFoundException,
+ FilePersistenceTooBigForSerializationException {
+ super(pathName);
+ }
+
+ private InserterBKM(final IHeapDataManager dataManager)
+ throws FilePersistenceInvalidClassException,
+ FilePersistenceNotSerializableException,
+ FilePersistenceClassNotFoundException,
+ FilePersistenceDataCorruptedException, FilePersistenceException,
+ FilePersistenceTooBigForSerializationException {
+ super(dataManager);
+ }
+
+ public static void main(final String[] args) {
+ final String dataFile = RUNTIME_DIR + "/block.data";
+ /* remove existing data */
+ new File(dataFile).delete();
+ new File(RUNTIME_DIR).mkdirs();
+ InserterBKM inserter;
+ try {
+ final IHeapDataManager dataManager =
+ /**/new BlockDataManager(dataFile, 1024);
+ inserter = new InserterBKM(dataManager);
+ inserter.run(NUMBER_OF_ITEM);
+ inserter.close();
+ } catch (final Throwable throwable) {// NOPMD catch all
+ LOGGER.fatal("error", throwable);
+ }
+ }
+}
Added: trunk/joafip-4test/src/main/java/net/sf/joafip/performance/items/service/SearcherBKM.java
===================================================================
--- trunk/joafip-4test/src/main/java/net/sf/joafip/performance/items/service/SearcherBKM.java (rev 0)
+++ trunk/joafip-4test/src/main/java/net/sf/joafip/performance/items/service/SearcherBKM.java 2011-11-12 16:55:23 UTC (rev 2966)
@@ -0,0 +1,69 @@
+/*
+ * Copyright 2007 Luc Peuvrier
+ *
+ * Licensed under the GNU LESSER GENERAL PUBLIC LICENSE
+ * Licensed under the LGPL License, Version 3, 29 June 2007 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.gnu.org/licenses/lgpl.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package net.sf.joafip.performance.items.service;
+
+import net.sf.joafip.NotStorableClass;
+import net.sf.joafip.StorableAccess;
+import net.sf.joafip.heapfile.service.BlockDataManager;
+import net.sf.joafip.heapfile.service.IHeapDataManager;
+import net.sf.joafip.logger.JoafipLogger;
+import net.sf.joafip.service.FilePersistenceClassNotFoundException;
+import net.sf.joafip.service.FilePersistenceDataCorruptedException;
+import net.sf.joafip.service.FilePersistenceException;
+import net.sf.joafip.service.FilePersistenceInvalidClassException;
+import net.sf.joafip.service.FilePersistenceNotSerializableException;
+import net.sf.joafip.service.FilePersistenceTooBigForSerializationException;
+import net.sf.joafip.store.service.StoreClassNotFoundException;
+
+@NotStorableClass
+@StorableAccess
+public class SearcherBKM extends AbstractSearcher {
+
+ private static final JoafipLogger LOGGER = JoafipLogger
+ .getLogger(SearcherBKM.class);
+
+ public SearcherBKM(final String pathName) throws FilePersistenceException,
+ FilePersistenceInvalidClassException,
+ FilePersistenceNotSerializableException,
+ FilePersistenceClassNotFoundException,
+ FilePersistenceDataCorruptedException, StoreClassNotFoundException,
+ FilePersistenceTooBigForSerializationException {
+ super(pathName);
+ }
+
+ public SearcherBKM(final IHeapDataManager dataManager)
+ throws FilePersistenceInvalidClassException,
+ FilePersistenceNotSerializableException,
+ FilePersistenceClassNotFoundException,
+ FilePersistenceDataCorruptedException, FilePersistenceException,
+ FilePersistenceTooBigForSerializationException {
+ super(dataManager);
+ }
+
+ public static void main(final String[] args) {
+ final String dataFile = RUNTIME_DIR + "/block.data";
+ SearcherBKM searcher;
+ try {
+ final IHeapDataManager dataManager =
+ /**/new BlockDataManager(dataFile, 1024);
+ searcher = new SearcherBKM(dataManager);
+ searcher.run();
+ } catch (final Throwable throwable) {// NOPMD catch all
+ LOGGER.fatal("error", throwable);
+ }
+ }
+}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|