[Joafip-svn] SF.net SVN: joafip:[2953] trunk
Brought to you by:
luc_peuvrier
|
From: <luc...@us...> - 2011-10-29 20:06:19
|
Revision: 2953
http://joafip.svn.sourceforge.net/joafip/?rev=2953&view=rev
Author: luc_peuvrier
Date: 2011-10-29 20:06:13 +0000 (Sat, 29 Oct 2011)
Log Message:
-----------
do not write data record if data does not change
added toNotCheckMethod(Class<?> clazz) to IFilePersistence
Modified Paths:
--------------
trunk/joafip/src/main/java/net/sf/joafip/service/AbstractFilePersistenceDelegatingToStore.java
trunk/joafip/src/main/java/net/sf/joafip/service/IFilePersistence.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/IStore.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/Store.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestFilePersistenceSetupByProperties.java
trunk/joafip-heapfile/src/main/java/net/sf/joafip/heapfile/service/HeapFileDataManager.java
trunk/joafip-rbtree/src/main/java/net/sf/joafip/redblacktree/service/RedBlackTree.java
Modified: trunk/joafip/src/main/java/net/sf/joafip/service/AbstractFilePersistenceDelegatingToStore.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/service/AbstractFilePersistenceDelegatingToStore.java 2011-10-29 16:24:23 UTC (rev 2952)
+++ trunk/joafip/src/main/java/net/sf/joafip/service/AbstractFilePersistenceDelegatingToStore.java 2011-10-29 20:06:13 UTC (rev 2953)
@@ -650,6 +650,11 @@
}
@Override
+ public void addToNotCheckMethod(final Class<?> clazz) {
+ store.addToNotCheckMethod(clazz);
+ }
+
+ @Override
public void addToNotCheckMethod(final Method method) {
store.addToNotCheckMethod(method);
}
Modified: trunk/joafip/src/main/java/net/sf/joafip/service/IFilePersistence.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/service/IFilePersistence.java 2011-10-29 16:24:23 UTC (rev 2952)
+++ trunk/joafip/src/main/java/net/sf/joafip/service/IFilePersistence.java 2011-10-29 20:06:13 UTC (rev 2953)
@@ -613,6 +613,8 @@
*/
void setForceEnhance(String[] objectClassNames);
+ void addToNotCheckMethod(Class<?> clazz);
+
void addToNotCheckMethod(Method method);
void addToNotCheckMethod(Constructor<?> constructor);
Modified: trunk/joafip/src/main/java/net/sf/joafip/store/service/IStore.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/store/service/IStore.java 2011-10-29 16:24:23 UTC (rev 2952)
+++ trunk/joafip/src/main/java/net/sf/joafip/store/service/IStore.java 2011-10-29 20:06:13 UTC (rev 2953)
@@ -245,6 +245,8 @@
void setForceEnhance(String objectClassName);
+ void addToNotCheckMethod(Class<?> clazz);
+
void addToNotCheckMethod(Method method);
void addToNotCheckMethod(Constructor<?> constructor);
Modified: trunk/joafip/src/main/java/net/sf/joafip/store/service/Store.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/store/service/Store.java 2011-10-29 16:24:23 UTC (rev 2952)
+++ trunk/joafip/src/main/java/net/sf/joafip/store/service/Store.java 2011-10-29 20:06:13 UTC (rev 2953)
@@ -661,6 +661,7 @@
}
}
+ @Override
public void addToNotCheckMethod(final Class<?> clazz) {
final Constructor<?>[] constructors = clazz.getDeclaredConstructors();
for (Constructor<?> constructor : constructors) {
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/TestFilePersistenceSetupByProperties.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/TestFilePersistenceSetupByProperties.java 2011-10-29 16:24:23 UTC (rev 2952)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/TestFilePersistenceSetupByProperties.java 2011-10-29 20:06:13 UTC (rev 2953)
@@ -73,6 +73,7 @@
}
filePersistence = new FilePersistence(
"net/sf/joafip/service/joafip_for_test.properties", true);
+ filePersistence.addToNotCheckMethod(Bob1.class);
session = filePersistence.createDataAccessSession();
// Logger.getLogger(ProxyCallBackInterceptEnd.class).setLevel(Level.DEBUG);
// Logger.getLogger(StoreSaver3.class).setLevel(Level.DEBUG);
Modified: trunk/joafip-heapfile/src/main/java/net/sf/joafip/heapfile/service/HeapFileDataManager.java
===================================================================
--- trunk/joafip-heapfile/src/main/java/net/sf/joafip/heapfile/service/HeapFileDataManager.java 2011-10-29 16:24:23 UTC (rev 2952)
+++ trunk/joafip-heapfile/src/main/java/net/sf/joafip/heapfile/service/HeapFileDataManager.java 2011-10-29 20:06:13 UTC (rev 2953)
@@ -18,6 +18,7 @@
import java.io.File;
import java.io.FilenameFilter;
+import java.util.Arrays;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
@@ -238,16 +239,20 @@
created = true;
heapRecord = createHeapRecordForData(data.length,
dataRecordIdentifier);
+ heapRecord.setDataAssociated(data);
} else {
created = false;
- // FIXMELUC ___________data not change case
- if (data.length != heapRecord.getDataAssociatedSize()) {
+ if (data.length == heapRecord.getDataAssociatedSize()) {
+ if (!Arrays.equals(data, heapRecord.getDataAssociated())) {
+ heapRecord.setDataAssociated(data);
+ }
+ } else {
deleteDataRecord(dataRecordIdentifier);
heapRecord = createHeapRecordForData(data.length,
dataRecordIdentifier);
+ heapRecord.setDataAssociated(data);
}
}
- heapRecord.setDataAssociated(data);
if (logger.debugEnabled) {
logger.debug("create heap record #" + dataRecordIdentifier
+ FOR_DATA_SIZE + data.length);
Modified: trunk/joafip-rbtree/src/main/java/net/sf/joafip/redblacktree/service/RedBlackTree.java
===================================================================
--- trunk/joafip-rbtree/src/main/java/net/sf/joafip/redblacktree/service/RedBlackTree.java 2011-10-29 16:24:23 UTC (rev 2952)
+++ trunk/joafip-rbtree/src/main/java/net/sf/joafip/redblacktree/service/RedBlackTree.java 2011-10-29 20:06:13 UTC (rev 2953)
@@ -1003,7 +1003,8 @@
public void deleteExistingNode(final IRBTNode<E> nodeToDelete)
throws RBTException {
// ASSERTX
- assert isNodeAttachedToTree(nodeToDelete) : "node to delete must be attached to the tree";
+ assert isNodeAttachedToTree(nodeToDelete) : "node to delete must be attached to the tree "
+ + nodeToDelete.getClass().getName();
rootNode = nodeManager.getRootNode();
privateDeleteExistingNode(nodeToDelete);
nodeManager.setRootNode(rootNode);
@@ -1308,7 +1309,8 @@
public int index(final IRBTNode<E> node) throws RBTException {
assertManageNodeIndex();
// ASSERTX
- assert isNodeAttachedToTree(node) : "node must be attached to the tree";
+ assert isNodeAttachedToTree(node) : "node must be attached to the tree "
+ + node.getClass().getName();
int index;
IRBTNode<E> current = node;
if (current.isSentinel()) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|