Thread: [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:29
|
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
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
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.RandomAccess...
[truncated message content] |