joafip-svn Mailing List for java data object persistence in file (Page 8)
Brought to you by:
luc_peuvrier
You can subscribe to this list here.
| 2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(4) |
Oct
(102) |
Nov
(52) |
Dec
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2012 |
Jan
(4) |
Feb
|
Mar
(14) |
Apr
(116) |
May
(100) |
Jun
(14) |
Jul
|
Aug
|
Sep
(30) |
Oct
|
Nov
(108) |
Dec
(2) |
|
From: <luc...@us...> - 2012-05-24 04:28:08
|
Revision: 3092
http://joafip.svn.sourceforge.net/joafip/?rev=3092&view=rev
Author: luc_peuvrier
Date: 2012-05-24 04:28:02 +0000 (Thu, 24 May 2012)
Log Message:
-----------
logs not in repository
Property Changed:
----------------
trunk/joafip-jpa/
Property changes on: trunk/joafip-jpa
___________________________________________________________________
Modified: svn:ignore
- target
.settings
.classpath
.project
.pmd
+ target
.settings
.classpath
.project
.pmd
logs
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <luc...@us...> - 2012-05-24 03:41:47
|
Revision: 3091
http://joafip.svn.sourceforge.net/joafip/?rev=3091&view=rev
Author: luc_peuvrier
Date: 2012-05-24 03:41:41 +0000 (Thu, 24 May 2012)
Log Message:
-----------
todo update. tests. clean up.
Modified Paths:
--------------
trunk/joafip/doc/_todo.txt
trunk/joafip-4test/src/main/java/net/sf/joafip/performance/items/service/AbstractPerfService.java
trunk/joafip-jpa/pom.xml
trunk/joafip-jpa/src/main/java/net/sf/joafip/jpa/JoaFipEntityManager.java
trunk/joafip-jpa/src/main/java/net/sf/joafip/jpa/JoaFipEntityTransaction.java
Added Paths:
-----------
trunk/joafip-jpa/src/main/resources/log4j.properties
Modified: trunk/joafip/doc/_todo.txt
===================================================================
--- trunk/joafip/doc/_todo.txt 2012-05-23 05:25:24 UTC (rev 3090)
+++ trunk/joafip/doc/_todo.txt 2012-05-24 03:41:41 UTC (rev 3091)
@@ -36,7 +36,7 @@
- heap file project make able to create a map in file with a comparable key
- new joafip-pmap project, a file persisted tree map
- heap data manager implemented in btree+ (not use by joafip since HeapFileDataManager speeder)
-- improve speed for file access using mapped byte buffer (+70%)
+- improve speed for file access using mapped byte buffer
minor changes:
- added search last in red black tree manager
@@ -53,7 +53,7 @@
- PLinkedTreeSet and PLinkedHashSet implement List
- setSubstitutionOfJavaUtilCollection can be enabled or disabled, enabled by default
- removeSubstitution added in IFilePersistence
-- new java agent implementation
+- new java agent implementation (performance to be improved)
bugs corrected:
- search in red black tree manager did not return the first element of group of duplicate values
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 2012-05-23 05:25:24 UTC (rev 3090)
+++ trunk/joafip-4test/src/main/java/net/sf/joafip/performance/items/service/AbstractPerfService.java 2012-05-24 03:41:41 UTC (rev 3091)
@@ -92,7 +92,7 @@
try {
if (dataManager == null) {
builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
- builder.setMaxBufferSize(256 * 1024);
+ builder.setMaxBufferSize(512 * 1024);
builder.setMaxNumberOfBuffer(256);
builder.setPathName(pathName);
if (useCache) {
Modified: trunk/joafip-jpa/pom.xml
===================================================================
--- trunk/joafip-jpa/pom.xml 2012-05-23 05:25:24 UTC (rev 3090)
+++ trunk/joafip-jpa/pom.xml 2012-05-24 03:41:41 UTC (rev 3091)
@@ -7,7 +7,7 @@
<version>1.0.0</version>
<relativePath>../joafip-parent</relativePath>
</parent>
- <groupId>net.sf.joafip</groupId>
+ <!-- <groupId>net.sf.joafip</groupId> -->
<artifactId>joafip-jpa</artifactId>
<packaging>jar</packaging>
<version>4.0.0b8</version>
Modified: trunk/joafip-jpa/src/main/java/net/sf/joafip/jpa/JoaFipEntityManager.java
===================================================================
--- trunk/joafip-jpa/src/main/java/net/sf/joafip/jpa/JoaFipEntityManager.java 2012-05-23 05:25:24 UTC (rev 3090)
+++ trunk/joafip-jpa/src/main/java/net/sf/joafip/jpa/JoaFipEntityManager.java 2012-05-24 03:41:41 UTC (rev 3091)
@@ -24,6 +24,7 @@
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.metamodel.Metamodel;
+import net.sf.joafip.kvstore.entity.EnumFileAccessMode;
import net.sf.joafip.service.FilePersistenceBuilder;
import net.sf.joafip.service.FilePersistenceClassNotFoundException;
import net.sf.joafip.service.FilePersistenceDataCorruptedException;
@@ -63,6 +64,9 @@
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
// builder.setDataModelIdentifier(1);
builder.setPathName(storageDirectory.getPath());
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
+ builder.setMaxBufferSize(8*1024);
+ builder.setMaxNumberOfBuffer(32);
builder.setGarbageManagement(false);
builder.setRemoveFiles(false);
filePersistence = builder.build();
Modified: trunk/joafip-jpa/src/main/java/net/sf/joafip/jpa/JoaFipEntityTransaction.java
===================================================================
--- trunk/joafip-jpa/src/main/java/net/sf/joafip/jpa/JoaFipEntityTransaction.java 2012-05-23 05:25:24 UTC (rev 3090)
+++ trunk/joafip-jpa/src/main/java/net/sf/joafip/jpa/JoaFipEntityTransaction.java 2012-05-24 03:41:41 UTC (rev 3091)
@@ -86,13 +86,11 @@
try {
if (session.isOpened()) {
try {
- session.close(EnumFilePersistenceCloseAction.DO_NOT_SAVE);
+ session.close(EnumFilePersistenceCloseAction.SAVE);
} catch (Exception exception) {// NOPMD
System.err.println("error while saving close " + exception);
}
}
- filePersistence.close(); // ?? jmv
-
} catch (FilePersistenceException e) {
e.printStackTrace();
} finally {
Added: trunk/joafip-jpa/src/main/resources/log4j.properties
===================================================================
--- trunk/joafip-jpa/src/main/resources/log4j.properties (rev 0)
+++ trunk/joafip-jpa/src/main/resources/log4j.properties 2012-05-24 03:41:41 UTC (rev 3091)
@@ -0,0 +1,24 @@
+
+
+log4j.rootLogger=WARN,CONSOLE,FILE
+
+log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
+log4j.appender.CONSOLE.Target=System.out
+log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
+#log4j.appender.CONSOLE.layout.conversionPattern=[%p,%c{1},%t] %m%n
+#log4j.appender.CONSOLE.layout.ConversionPattern=[%5p] - %d [%t] %c (%F:%M:%L) %n %m%n%n
+log4j.appender.CONSOLE.layout.ConversionPattern=[%5p] - %d [%t] (%c.java:%M:%L) %n %m%n%n
+
+log4j.appender.FILE=org.apache.log4j.RollingFileAppender
+#log4j.appender.FILE.File=${webapp.root}/WEB-INF/log4j.log
+log4j.appender.FILE.File=logs/joafip.log
+log4j.appender.FILE.MaxFileSize=1024KB
+log4j.appender.FILE.MaxBackupIndex=3
+log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
+#log4j.appender.FILE.layout.conversionPattern=%d{ABSOLUTE} %5p %c{1},%t:%L - %m%n
+log4j.appender.FILE.layout.ConversionPattern=[%5p] - %d [%t] (%c.java:%M:%L) %n %m%n%n
+
+log4j.logger.net.sf.joafip=warn
+log4j.logger.net.sf.joafip.HelperMemoryUse=info
+log4j.logger.net.sf.joafip.meminspector=warn
+log4j.logger.net.sf.joafip.java.util=warn
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <luc...@us...> - 2012-05-24 03:41:47
|
Revision: 3091
http://joafip.svn.sourceforge.net/joafip/?rev=3091&view=rev
Author: luc_peuvrier
Date: 2012-05-24 03:41:41 +0000 (Thu, 24 May 2012)
Log Message:
-----------
todo update. tests. clean up.
Modified Paths:
--------------
trunk/joafip/doc/_todo.txt
trunk/joafip-4test/src/main/java/net/sf/joafip/performance/items/service/AbstractPerfService.java
trunk/joafip-jpa/pom.xml
trunk/joafip-jpa/src/main/java/net/sf/joafip/jpa/JoaFipEntityManager.java
trunk/joafip-jpa/src/main/java/net/sf/joafip/jpa/JoaFipEntityTransaction.java
Added Paths:
-----------
trunk/joafip-jpa/src/main/resources/log4j.properties
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <luc...@us...> - 2012-05-23 05:25:34
|
Revision: 3090
http://joafip.svn.sourceforge.net/joafip/?rev=3090&view=rev
Author: luc_peuvrier
Date: 2012-05-23 05:25:24 +0000 (Wed, 23 May 2012)
Log Message:
-----------
added buffer parameters for mapped file access
Modified Paths:
--------------
trunk/joafip/src/main/java/net/sf/joafip/entity/FilePersistenceProperties.java
trunk/joafip/src/main/java/net/sf/joafip/service/FilePersistenceBuilder.java
trunk/joafip/src/main/java/net/sf/joafip/service/FilePersistencePropertiesReader.java
trunk/joafip/src/main/java/net/sf/joafip/store/entity/StoreProperties.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/AbstractDelegatingToStoreManagers.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/AbstractStoreDelegatingToDataManager.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/Store.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/export_import/out/ExportStoreQue.java
trunk/joafip/src/test/java/net/sf/joafip/service/AbstractTestCustomObjectIO.java
trunk/joafip/src/test/java/net/sf/joafip/service/AbstractTestSerializable.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestBobSerializeStackOverflow.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestClear.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestCrashSafe.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestExportImport.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestExportObject.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestFilePersistenceNoG.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestFilePersistenceOpenClose.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestFilePersistenceWithG.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestInnerClassProxy.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestMultiAccessFilePersistence.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestMultipleFilePersistenceInstance.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestSaveFailureDoNotModifyStorage.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestStoreNotStorable.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestVisitedModified.java
trunk/joafip/src/test/java/net/sf/joafip/service/bug/AbstractFileCheckPersistenceForTest.java
trunk/joafip/src/test/java/net/sf/joafip/service/bug/AbstractFilePersistenceForTest.java
trunk/joafip/src/test/java/net/sf/joafip/service/bug/TestBugChangeLog.java
trunk/joafip/src/test/java/net/sf/joafip/service/bug/TestGarbageModeError.java
trunk/joafip/src/test/java/net/sf/joafip/service/bug/TestRootObjectMapAutoSave.java
trunk/joafip/src/test/java/net/sf/joafip/service/bug/TestSerializeAndNotLazy1.java
trunk/joafip/src/test/java/net/sf/joafip/service/bug/TestSerializeAndNotLazy2.java
trunk/joafip/src/test/java/net/sf/joafip/service/bug/primitive/TestHoldPrimitive.java
trunk/joafip/src/test/java/net/sf/joafip/service/bug/savenum/TestEnumKeptInMemory.java
trunk/joafip/src/test/java/net/sf/joafip/service/bug/savenum/TestEnumPersistence.java
trunk/joafip/src/test/java/net/sf/joafip/service/joafip_for_test.properties
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestArraySerialization.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestClassLoaderPersistence.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestExclusiveDataAccessSessionUsingProps.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestImport222.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestImport222NotLazy.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestKeptInMemory.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestSubstitutionSerialize.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestSubstitutionSerializeReadWriteMethod.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestSubstitutionSubstitutedSerializable.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestSubstitutionWithDataAccessSession.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestThisInConstructor.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestUseRuntime222.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestUseRuntime222NotLazy.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel301/TestImport300.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel301/TestUseRuntime300Lazy.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel301/TestUseRuntime300NotLazy.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel310/TestImport301ConversionA.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel310/TestImport301ConversionB.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel310/TestUseRuntime301LazyConversionA.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel310/TestUseRuntime301LazyConversionB.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel310/TestUseRuntime301NotLazyConversionA.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel310/TestUseRuntime301NotLazyConversionB.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestAutoSave.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestEnumMap.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestFileManagementOptions.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestInstanceFactoryUsage.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestPHashMapNewInstance.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestPrivateAccess.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestRuntime310Garbage.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestSaveInExclusiveDataAccessSession.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestStoredImmutableEnum.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestTreeMapIteratorAutoSave.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestTreeSetIteratorAutoSave.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestTreeSupportIterator.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestTreeSupportIteratorAutoSave.java
trunk/joafip/src/test/java/net/sf/joafip/service/sync/TestSynchronizedCollection.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/StoreForTest.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/TestStoreNoG.java
trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWrite3GByteFileOutputStreamMapped.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/DeleterBtreePlus.java
trunk/joafip-4test/src/main/java/net/sf/joafip/performance/items/service/InserterBtreePlusWhithCache.java
trunk/joafip-4test/src/main/java/net/sf/joafip/performance/items/service/InserterBtreePlusWhithoutCache.java
trunk/joafip-4test/src/main/java/net/sf/joafip/performance/items/service/SearcherBtreePlus.java
trunk/joafip-example-simplestore/src/main/java/net/sf/joafip/simplestore/SimpleStore.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/AbstractRandomAccessFile.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/RandomAccessFileDirectMapped.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/RandomAccessFileReadWriteCache.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/stream/FileOutputStreamMapped.java
trunk/joafip-file/src/test/java/net/sf/joafip/file/service/AbstractRandomFileTest.java
trunk/joafip-file/src/test/java/net/sf/joafip/file/service/ParallelRandomAccessFileForTest.java
trunk/joafip-file/src/test/java/net/sf/joafip/file/service/RandomFileDirectMappedTest.java
trunk/joafip-heapfile/src/test/java/net/sf/joafip/heapfile/record/TestIdNode.java
trunk/joafip-heapfile/src/test/java/net/sf/joafip/heapfile/record/service/TestHeapRecordManage.java
trunk/joafip-heapfile/src/test/java/net/sf/joafip/heapfile/record/service/TestHeapRecordStoreRestore.java
trunk/joafip-kvstore/src/main/java/net/sf/joafip/kvstore/entity/HeapFileSetup.java
trunk/joafip-kvstore/src/main/java/net/sf/joafip/kvstore/record/service/HeapElementManagerFactory.java
trunk/joafip-kvstore/src/main/java/net/sf/joafip/kvstore/service/FileForStorable.java
trunk/joafip-kvstore/src/test/java/net/sf/joafip/kvstore/record/entity/TestAbstractFileStorable.java
trunk/joafip-kvstore/src/test/java/net/sf/joafip/kvstore/record/entity/TestMarshall.java
trunk/joafip-kvstore/src/test/java/net/sf/joafip/kvstore/record/service/AbstractTestHeapElementManager.java
trunk/joafip-kvstore/src/test/java/net/sf/joafip/kvstore/service/BlockDataManager.java
Added Paths:
-----------
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/stream/FileInputStreamMapped.java
trunk/joafip-kvstore/src/main/java/net/sf/joafip/kvstore/entity/FileAccessParameter.java
Modified: trunk/joafip/src/main/java/net/sf/joafip/entity/FilePersistenceProperties.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/entity/FilePersistenceProperties.java 2012-05-21 21:30:06 UTC (rev 3089)
+++ trunk/joafip/src/main/java/net/sf/joafip/entity/FilePersistenceProperties.java 2012-05-23 05:25:24 UTC (rev 3090)
@@ -145,6 +145,14 @@
storeProperties.setFileAccessMode(fileAccessMode);
}
+ public void setMaxNumberOfBuffer(final int maxNumberOfBuffer) {
+ storeProperties.setMaxNumberOfBuffer(maxNumberOfBuffer);
+ }
+
+ public void setMaxBufferSize(final int maxBufferSize) {
+ storeProperties.setMaxBufferSize(maxBufferSize);
+ }
+
public EnumFileAccessMode getFileAccessMode()
throws FilePersistenceException {
try {
Modified: trunk/joafip/src/main/java/net/sf/joafip/service/FilePersistenceBuilder.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/service/FilePersistenceBuilder.java 2012-05-21 21:30:06 UTC (rev 3089)
+++ trunk/joafip/src/main/java/net/sf/joafip/service/FilePersistenceBuilder.java 2012-05-23 05:25:24 UTC (rev 3090)
@@ -64,6 +64,20 @@
filePersistenceProperties.setFileAccessMode(fileAccessMode);
}
+ public void setMaxNumberOfBuffer(final int maxNumberOfBuffer) {
+ filePersistenceProperties.setMaxNumberOfBuffer(maxNumberOfBuffer);
+ }
+
+ public void setMaxBufferSize(final int maxBufferSize) {
+ filePersistenceProperties.setMaxBufferSize(maxBufferSize);
+ }
+
+ public void fileBufferSetup(final int maxNumberOfBuffer,
+ final int maxBufferSize) {
+ filePersistenceProperties.setMaxNumberOfBuffer(maxNumberOfBuffer);
+ filePersistenceProperties.setMaxBufferSize(maxBufferSize);
+ }
+
/**
*
* @param pathName
Modified: trunk/joafip/src/main/java/net/sf/joafip/service/FilePersistencePropertiesReader.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/service/FilePersistencePropertiesReader.java 2012-05-21 21:30:06 UTC (rev 3089)
+++ trunk/joafip/src/main/java/net/sf/joafip/service/FilePersistencePropertiesReader.java 2012-05-23 05:25:24 UTC (rev 3090)
@@ -57,6 +57,10 @@
private static final String JOAFIP_FILE_ACCESS_MODE = "joafip.fileAccessMode";
+ private static final String JOAFIP_NUMBER_OF_FILE_BUFFER = "joafip.numberOfFileBuffer";
+
+ private static final String JOAFIP_FILE_BUFFER_SIZE = "joafip.fileBufferSize";
+
/** storage directory path construction parameter */
private static final String JOAFIP_PATH = "joafip.path";
@@ -192,6 +196,12 @@
+ value + "\",random, nio, or mapped expected");
}
filePersistenceProperties.setFileAccessMode(fileAccessMode);
+ } else if (JOAFIP_NUMBER_OF_FILE_BUFFER.equals(key)) {
+ filePersistenceProperties.setMaxNumberOfBuffer(intValue(
+ key, value));
+ } else if (JOAFIP_FILE_BUFFER_SIZE.equals(key)) {
+ filePersistenceProperties.setMaxBufferSize(intValue(key,
+ value));
} else if (JOAFIP_PATH.equals(key)) {
filePersistenceProperties.setPathName(value);
} else if (JOAFIP_DATA_MODEL_IDENTIFIER.equals(key)) {
Modified: trunk/joafip/src/main/java/net/sf/joafip/store/entity/StoreProperties.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/store/entity/StoreProperties.java 2012-05-21 21:30:06 UTC (rev 3089)
+++ trunk/joafip/src/main/java/net/sf/joafip/store/entity/StoreProperties.java 2012-05-23 05:25:24 UTC (rev 3090)
@@ -77,10 +77,36 @@
private EnumFileAccessMode fileAccessMode;
+ private Integer maxNumberOfBuffer;
+
+ private Integer maxBufferSize;
+
public void setFileAccessMode(final EnumFileAccessMode fileAccessMode) {
this.fileAccessMode = fileAccessMode;
}
+ public int getMaxNumberOfBuffer() throws StoreException {
+ if (maxNumberOfBuffer == null) {
+ throw new StoreException("number of file buffer parameter not set");
+ }
+ return maxNumberOfBuffer;
+ }
+
+ public void setMaxNumberOfBuffer(final int maxNumberOfBuffer) {
+ this.maxNumberOfBuffer = maxNumberOfBuffer;
+ }
+
+ public int getMaxBufferSize() throws StoreException {
+ if (maxBufferSize == null) {
+ throw new StoreException("file buffer size parameter not set");
+ }
+ return maxBufferSize;
+ }
+
+ public void setMaxBufferSize(final int maxBufferSize) {
+ this.maxBufferSize = maxBufferSize;
+ }
+
public EnumFileAccessMode getFileAccessMode() throws StoreException {
if (dataManager == null && fileAccessMode == null) {
throw new StoreException("file access mode is not defined");
Modified: trunk/joafip/src/main/java/net/sf/joafip/store/service/AbstractDelegatingToStoreManagers.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/store/service/AbstractDelegatingToStoreManagers.java 2012-05-21 21:30:06 UTC (rev 3089)
+++ trunk/joafip/src/main/java/net/sf/joafip/store/service/AbstractDelegatingToStoreManagers.java 2012-05-23 05:25:24 UTC (rev 3090)
@@ -26,7 +26,6 @@
import net.sf.joafip.NotStorableClass;
import net.sf.joafip.entity.EnumStoreMode;
import net.sf.joafip.entity.MutableInteger;
-import net.sf.joafip.kvstore.entity.EnumFileAccessMode;
import net.sf.joafip.kvstore.record.entity.DataRecordIdentifier;
import net.sf.joafip.kvstore.service.IHeapDataManager;
import net.sf.joafip.reflect.HelperReflect;
@@ -35,6 +34,7 @@
import net.sf.joafip.service.IFilePersistenceAutoSaver;
import net.sf.joafip.service.JoafipMutex;
import net.sf.joafip.store.entity.StoreHeader;
+import net.sf.joafip.store.entity.StoreProperties;
import net.sf.joafip.store.entity.StoreSynchro;
import net.sf.joafip.store.entity.classinfo.ClassInfo;
import net.sf.joafip.store.entity.classinfo.FieldInfo;
@@ -174,28 +174,14 @@
protected IFilePersistenceAutoSaver saver;
protected AbstractDelegatingToStoreManagers(
- final int currentDataModelIdentifier,
- final InputStreamAndSource dataModelConversionDefInputStream,
- final IHeapDataManager dataManager,
- final EnumFileAccessMode fileAccessMode, final String pathName,
- final String dataFileName, final String backupDataFileName,
- final String stateOkFlagFileName,
- final String stateBackupOkFlagFileName,
- final String globalStateFlagFileName, final boolean crashSafeMode,
- final boolean proxyMode, final boolean useCacheMode,
- final int pageSize, final int maxPage,
- final boolean deleteRenaming, final boolean clearResizeFile,
- final int maxFileOperationRetry,
- final int fileOperationRetryMsDelay, final boolean garbageManagement)
- throws StoreException {
- super(dataManager, fileAccessMode, pathName, dataFileName,
- backupDataFileName, stateOkFlagFileName,
- stateBackupOkFlagFileName, globalStateFlagFileName,
- crashSafeMode, useCacheMode, pageSize, maxPage, deleteRenaming,
- clearResizeFile, maxFileOperationRetry,
- fileOperationRetryMsDelay);
- this.garbageManagement = garbageManagement;
- this.proxyMode = proxyMode;
+ final StoreProperties storeProperties) throws StoreException {
+ super(storeProperties);
+ this.garbageManagement = storeProperties.isGarbageManagement();
+ this.proxyMode = storeProperties.isProxyMode();
+ final int currentDataModelIdentifier = storeProperties
+ .getDataModelIdentifier();
+ final InputStreamAndSource dataModelConversionDefInputStream = storeProperties
+ .getDataModelConversionDefInputStream();
initialize(currentDataModelIdentifier,
dataModelConversionDefInputStream);
}
Modified: trunk/joafip/src/main/java/net/sf/joafip/store/service/AbstractStoreDelegatingToDataManager.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/store/service/AbstractStoreDelegatingToDataManager.java 2012-05-21 21:30:06 UTC (rev 3089)
+++ trunk/joafip/src/main/java/net/sf/joafip/store/service/AbstractStoreDelegatingToDataManager.java 2012-05-23 05:25:24 UTC (rev 3090)
@@ -26,6 +26,7 @@
import net.sf.joafip.kvstore.service.HeapException;
import net.sf.joafip.kvstore.service.IHeapDataManager;
import net.sf.joafip.logger.JoafipLogger;
+import net.sf.joafip.store.entity.StoreProperties;
/**
*
@@ -83,40 +84,55 @@
protected IHeapDataManager dataManager;
protected AbstractStoreDelegatingToDataManager(
- final IHeapDataManager dataManager,
- final EnumFileAccessMode fileAccessMode, final String pathName,
- final String dataFileName, final String backupDataFileName,
- final String stateOkFlagFileName,
- final String stateBackupOkFlagFileName,
- final String globalStateFlagFileName, final boolean crashSafeMode,
- final boolean useCacheMode, final int pageSize, final int maxPage,
- final boolean deleteRenaming, final boolean clearResizeFile,
- final int maxFileOperationRetry, final int fileOperationRetryMsDelay)
- throws StoreException {
+ final StoreProperties storeProperties) throws StoreException {
super();
+
+ final IHeapDataManager dataManager = storeProperties.getDataManager();
if (dataManager == null) {
try {
+ final String dataFileName = storeProperties.getDataFileName();
final String toUseDataFileName = dataFileName == null ? STORE_DATA
: dataFileName;
+ final String pathName = storeProperties.getPathName();
final File dataFile = new File(pathName, toUseDataFileName);
final File openFileTraceFile = new File(pathName, TRACE_FILE);
+ final EnumFileAccessMode fileAccessMode = storeProperties
+ .getFileAccessMode();
+ final boolean crashSafeMode = storeProperties.isCrashSafeMode();
+ final boolean useCacheMode = storeProperties.isUseCacheMode();
+ final boolean deleteRenaming = storeProperties
+ .isDeleteRenaming();
+ final boolean clearResizeFile = storeProperties
+ .isClearResizeFile();
+ final int maxFileOperationRetry = storeProperties
+ .getMaxFileOperationRetry();
+ final int fileOperationRetryMsDelay = storeProperties
+ .getFileOperationRetryMsDelay();
final HeapFileSetup setup = new HeapFileSetup(fileAccessMode,
dataFile, crashSafeMode, useCacheMode, deleteRenaming,
clearResizeFile, maxFileOperationRetry,
fileOperationRetryMsDelay, openFileTraceFile);
if (crashSafeMode) {
+ final String backupDataFileName = storeProperties
+ .getBackupDataFileName();
final String toUseBackupDataFileName = backupDataFileName == null ? STORE_BAK
: backupDataFileName;
final File backupDataFile = new File(pathName,
toUseBackupDataFileName);
+ final String stateOkFlagFileName = storeProperties
+ .getStateOkFlagFileName();
final String toUseStateOkFlagFileName = stateOkFlagFileName == null ? DATA_FLAG
: stateOkFlagFileName;
final File stateOkFlagFile = new File(pathName,
toUseStateOkFlagFileName);
+ final String stateBackupOkFlagFileName = storeProperties
+ .getStateBackupOkFlagFileName();
final String toUseStateBackupOkFlagFileName = stateBackupOkFlagFileName == null ? BACKUP_FLAG
: stateBackupOkFlagFileName;
final File stateBackupOkFlagFile = new File(pathName,
toUseStateBackupOkFlagFileName);
+ final String globalStateFlagFileName = storeProperties
+ .getGlobalStateFlagFileName();
final String toUseGlobalStateFlagFileName = globalStateFlagFileName == null ? GLOBAL_FLAG
: globalStateFlagFileName;
final File globalStateFlagFile = new File(pathName,
@@ -128,8 +144,18 @@
/**/globalStateFlagFile);
}
if (useCacheMode) {
+ final int pageSize = storeProperties.getPageSize();
+ final int maxPage = storeProperties.getMaxPage();
setup.cacheSetup(pageSize, maxPage);
}
+ if (EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS
+ .equals(fileAccessMode)) {
+ final int maxNumberOfBuffer = storeProperties
+ .getMaxNumberOfBuffer();
+ final int maxBufferSize = storeProperties
+ .getMaxBufferSize();
+ setup.fileBufferSetup(maxBufferSize, maxNumberOfBuffer);
+ }
this.dataManager = new HeapFileDataManager(setup, false);
} catch (HeapException exception) {
logger.fatal(CREATION_FAILED, exception);
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 2012-05-21 21:30:06 UTC (rev 3089)
+++ trunk/joafip/src/main/java/net/sf/joafip/store/service/Store.java 2012-05-23 05:25:24 UTC (rev 3090)
@@ -174,27 +174,7 @@
* @throws StoreException
*/
public Store(final StoreProperties storeProperties) throws StoreException {
- super(
- /**/storeProperties.getDataModelIdentifier(),
- /**/storeProperties.getDataModelConversionDefInputStream(),
- /**/storeProperties.getDataManager(),
- /**/storeProperties.getFileAccessMode(),
- /**/storeProperties.getPathName(),
- /**/storeProperties.getDataFileName(),
- /**/storeProperties.getBackupDataFileName(),
- /**/storeProperties.getStateOkFlagFileName(),
- /**/storeProperties.getStateBackupOkFlagFileName(),
- /**/storeProperties.getGlobalStateFlagFileName(),
- /**/storeProperties.isCrashSafeMode(),
- /**/storeProperties.isProxyMode(),
- /**/storeProperties.isUseCacheMode(),
- /**/storeProperties.getPageSize(),
- /**/storeProperties.getMaxPage(),
- /**/storeProperties.isDeleteRenaming(),
- /**/storeProperties.isClearResizeFile(),
- /**/storeProperties.getMaxFileOperationRetry(),
- /**/storeProperties.getFileOperationRetryMsDelay(),
- /**/storeProperties.isGarbageManagement());
+ super(storeProperties);
setMaintainedInMemoryEnabled(storeProperties.isMaintenedInMemory());
maintainInMemorySetup(storeProperties.getMaintenedInMemoryQuota());
setAutoSaveEnabled(storeProperties.isAutoSaveEnabled());
Modified: trunk/joafip/src/main/java/net/sf/joafip/store/service/export_import/out/ExportStoreQue.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/store/service/export_import/out/ExportStoreQue.java 2012-05-21 21:30:06 UTC (rev 3089)
+++ trunk/joafip/src/main/java/net/sf/joafip/store/service/export_import/out/ExportStoreQue.java 2012-05-23 05:25:24 UTC (rev 3090)
@@ -62,6 +62,7 @@
1/* maxFileOperationRetry */, 0/* fileOperationRetryMsDelay */,
null/* openFileTraceFile */);
setup.cacheSetup(1024/* pageSize */, 1024/* maxPage */);
+ setup.fileBufferSetup(8 * 1024/* maxBufferSize */, 32/* maxNumberOfBuffer */);
heapDataManagerForSet = new AutoSaveHeapFileDataManager(setup, false,
MAX_RECORDS);
minusOne = longToBinary(-1);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/AbstractTestCustomObjectIO.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/AbstractTestCustomObjectIO.java 2012-05-21 21:30:06 UTC (rev 3089)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/AbstractTestCustomObjectIO.java 2012-05-23 05:25:24 UTC (rev 3090)
@@ -51,6 +51,8 @@
// /**/false/* do not manage garbage */);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
+ builder.setMaxBufferSize(8 * 1024);
+ builder.setMaxNumberOfBuffer(32);
builder.setPathName(path.getPath());
builder.setProxyMode(true);
builder.setRemoveFiles(false);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/AbstractTestSerializable.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/AbstractTestSerializable.java 2012-05-21 21:30:06 UTC (rev 3089)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/AbstractTestSerializable.java 2012-05-23 05:25:24 UTC (rev 3090)
@@ -63,6 +63,8 @@
// /**/false/* do not manage garbage */);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
+ builder.setMaxBufferSize(8 * 1024);
+ builder.setMaxNumberOfBuffer(32);
builder.setPathName(path.getPath());
builder.setProxyMode(true);
builder.setRemoveFiles(false);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/TestBobSerializeStackOverflow.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/TestBobSerializeStackOverflow.java 2012-05-21 21:30:06 UTC (rev 3089)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/TestBobSerializeStackOverflow.java 2012-05-23 05:25:24 UTC (rev 3090)
@@ -62,6 +62,8 @@
super.setUp();
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
+ builder.setMaxBufferSize(8 * 1024);
+ builder.setMaxNumberOfBuffer(32);
builder.setPathName(path.getPath());
builder.setProxyMode(true);
builder.setRemoveFiles(false);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/TestClear.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/TestClear.java 2012-05-21 21:30:06 UTC (rev 3089)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/TestClear.java 2012-05-23 05:25:24 UTC (rev 3090)
@@ -59,6 +59,8 @@
// /**/false/* do not manage garbage */);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
+ builder.setMaxBufferSize(8 * 1024);
+ builder.setMaxNumberOfBuffer(32);
builder.setPathName(path.getPath());
builder.setProxyMode(true);
builder.setRemoveFiles(false);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/TestCrashSafe.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/TestCrashSafe.java 2012-05-21 21:30:06 UTC (rev 3089)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/TestCrashSafe.java 2012-05-23 05:25:24 UTC (rev 3090)
@@ -172,6 +172,8 @@
// TestConstant.getRuntimeDir(), false, false);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
+ builder.setMaxBufferSize(8 * 1024);
+ builder.setMaxNumberOfBuffer(32);
builder.setPathName(TestConstant.getWinRamDiskRuntimeDir());
builder.setProxyMode(true);
builder.setRemoveFiles(false);
@@ -202,6 +204,8 @@
// TestConstant.getRuntimeDir(), false, false);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
+ builder.setMaxBufferSize(8 * 1024);
+ builder.setMaxNumberOfBuffer(32);
builder.setPathName(TestConstant.getWinRamDiskRuntimeDir());
builder.setProxyMode(true);
builder.setRemoveFiles(false);
@@ -228,6 +232,8 @@
// TestConstant.getRuntimeDir(), false, false);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
+ builder.setMaxBufferSize(8 * 1024);
+ builder.setMaxNumberOfBuffer(32);
builder.setPathName(TestConstant.getWinRamDiskRuntimeDir());
builder.setProxyMode(true);
builder.setRemoveFiles(false);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/TestExportImport.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/TestExportImport.java 2012-05-21 21:30:06 UTC (rev 3089)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/TestExportImport.java 2012-05-23 05:25:24 UTC (rev 3090)
@@ -70,6 +70,8 @@
// TestConstant.getRuntimeDir(), true, false);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
+ builder.setMaxBufferSize(8 * 1024);
+ builder.setMaxNumberOfBuffer(32);
builder.setPathName(TestConstant.getWinRamDiskRuntimeDir());
builder.setProxyMode(true);
builder.setRemoveFiles(true);
@@ -166,6 +168,8 @@
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
builder.setPathName(TestConstant.getWinRamDiskRuntimeDir());
builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
+ builder.setMaxBufferSize(8 * 1024);
+ builder.setMaxNumberOfBuffer(32);
builder.setProxyMode(true);
builder.setRemoveFiles(true);
builder.setGarbageManagement(false);
@@ -276,6 +280,8 @@
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
+ builder.setMaxBufferSize(8 * 1024);
+ builder.setMaxNumberOfBuffer(32);
builder.setPathName(TestConstant.getWinRamDiskRuntimeDir());
builder.setProxyMode(true);
builder.setRemoveFiles(true);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/TestExportObject.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/TestExportObject.java 2012-05-21 21:30:06 UTC (rev 3089)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/TestExportObject.java 2012-05-23 05:25:24 UTC (rev 3090)
@@ -75,6 +75,8 @@
// TestConstant.getRuntimeDir(), true, false);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
+ builder.setMaxBufferSize(8 * 1024);
+ builder.setMaxNumberOfBuffer(32);
builder.setPathName(TestConstant.getWinRamDiskRuntimeDir());
builder.setProxyMode(true);
builder.setRemoveFiles(true);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/TestFilePersistenceNoG.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/TestFilePersistenceNoG.java 2012-05-21 21:30:06 UTC (rev 3089)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/TestFilePersistenceNoG.java 2012-05-23 05:25:24 UTC (rev 3090)
@@ -28,6 +28,8 @@
// /**/false/* do not manage garbage */);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
+ builder.setMaxBufferSize(8 * 1024);
+ builder.setMaxNumberOfBuffer(32);
builder.setPathName(path.getPath());
builder.setProxyMode(true);
builder.setRemoveFiles(false);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/TestFilePersistenceOpenClose.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/TestFilePersistenceOpenClose.java 2012-05-21 21:30:06 UTC (rev 3089)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/TestFilePersistenceOpenClose.java 2012-05-23 05:25:24 UTC (rev 3090)
@@ -121,6 +121,8 @@
// /**/true/* manage garbage */);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
+ builder.setMaxBufferSize(8 * 1024);
+ builder.setMaxNumberOfBuffer(32);
builder.setPathName(path.getPath());
builder.setProxyMode(true);
builder.setRemoveFiles(false);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/TestFilePersistenceWithG.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/TestFilePersistenceWithG.java 2012-05-21 21:30:06 UTC (rev 3089)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/TestFilePersistenceWithG.java 2012-05-23 05:25:24 UTC (rev 3090)
@@ -25,6 +25,8 @@
// /**/true/* manage garbage */);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
+ builder.setMaxBufferSize(8 * 1024);
+ builder.setMaxNumberOfBuffer(32);
builder.setPathName(path.getPath());
builder.setProxyMode(true);
builder.setRemoveFiles(false);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/TestInnerClassProxy.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/TestInnerClassProxy.java 2012-05-21 21:30:06 UTC (rev 3089)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/TestInnerClassProxy.java 2012-05-23 05:25:24 UTC (rev 3090)
@@ -67,6 +67,8 @@
// TestConstant.getRuntimeDir(), true, false);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
+ builder.setMaxBufferSize(8 * 1024);
+ builder.setMaxNumberOfBuffer(32);
builder.setPathName(TestConstant.getWinRamDiskRuntimeDir());
builder.setProxyMode(true);
builder.setRemoveFiles(false);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/TestMultiAccessFilePersistence.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/TestMultiAccessFilePersistence.java 2012-05-21 21:30:06 UTC (rev 3089)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/TestMultiAccessFilePersistence.java 2012-05-23 05:25:24 UTC (rev 3090)
@@ -55,6 +55,8 @@
// /**/true/* manage garbage */);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
+ builder.setMaxBufferSize(8 * 1024);
+ builder.setMaxNumberOfBuffer(32);
builder.setPathName(path.getPath());
builder.setProxyMode(true);
builder.setRemoveFiles(false);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/TestMultipleFilePersistenceInstance.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/TestMultipleFilePersistenceInstance.java 2012-05-21 21:30:06 UTC (rev 3089)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/TestMultipleFilePersistenceInstance.java 2012-05-23 05:25:24 UTC (rev 3090)
@@ -111,6 +111,8 @@
// TestConstant.getRuntimeDir(), false, false);
FilePersistenceBuilder builder = new FilePersistenceBuilder();
builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
+ builder.setMaxBufferSize(8 * 1024);
+ builder.setMaxNumberOfBuffer(32);
builder.setPathName(TestConstant.getWinRamDiskRuntimeDir());
builder.setProxyMode(true);
builder.setRemoveFiles(false);
@@ -127,12 +129,15 @@
// TestConstant.getRuntimeDir(), false, false);
builder = new FilePersistenceBuilder();
builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
+ builder.setMaxBufferSize(8 * 1024);
+ builder.setMaxNumberOfBuffer(32);
builder.setPathName(TestConstant.getWinRamDiskRuntimeDir());
builder.setProxyMode(true);
builder.setRemoveFiles(false);
builder.setGarbageManagement(false);
builder.setCrashSafeMode(false);
filePersistence = (FilePersistence) builder.build();
+ filePersistence.addToNotCheckMethod(Bob1.class);
dataAccessSession = filePersistence.createDataAccessSession();
dataAccessSession.open();
assertNotNull("must have an object", dataAccessSession.getObject(KEY));
@@ -165,6 +170,8 @@
// TestConstant.getRuntimeDir(), false, false);
FilePersistenceBuilder builder = new FilePersistenceBuilder();
builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
+ builder.setMaxBufferSize(8 * 1024);
+ builder.setMaxNumberOfBuffer(32);
builder.setPathName(TestConstant.getWinRamDiskRuntimeDir());
builder.setProxyMode(true);
builder.setRemoveFiles(false);
@@ -186,6 +193,8 @@
// TestConstant.getRuntimeDir(), false, false);
builder = new FilePersistenceBuilder();
builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
+ builder.setMaxBufferSize(8 * 1024);
+ builder.setMaxNumberOfBuffer(32);
builder.setPathName(TestConstant.getWinRamDiskRuntimeDir());
builder.setProxyMode(true);
builder.setRemoveFiles(false);
@@ -224,6 +233,8 @@
// TestConstant.getRuntimeDir(), false, false);
FilePersistenceBuilder builder = new FilePersistenceBuilder();
builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
+ builder.setMaxBufferSize(8 * 1024);
+ builder.setMaxNumberOfBuffer(32);
builder.setPathName(TestConstant.getWinRamDiskRuntimeDir());
builder.setProxyMode(true);
builder.setRemoveFiles(false);
@@ -246,6 +257,8 @@
// TestConstant.getRuntimeDir(), false, false);
builder = new FilePersistenceBuilder();
builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
+ builder.setMaxBufferSize(8 * 1024);
+ builder.setMaxNumberOfBuffer(32);
builder.setPathName(TestConstant.getWinRamDiskRuntimeDir());
builder.setProxyMode(true);
builder.setRemoveFiles(false);
@@ -283,6 +296,8 @@
// TestConstant.getRuntimeDir(), true, true);
FilePersistenceBuilder builder = new FilePersistenceBuilder();
builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
+ builder.setMaxBufferSize(8 * 1024);
+ builder.setMaxNumberOfBuffer(32);
builder.setPathName(TestConstant.getWinRamDiskRuntimeDir());
builder.setProxyMode(true);
builder.setRemoveFiles(true);
@@ -299,6 +314,8 @@
// TestConstant.getRuntimeDir(), true, false);
builder = new FilePersistenceBuilder();
builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
+ builder.setMaxBufferSize(8 * 1024);
+ builder.setMaxNumberOfBuffer(32);
builder.setPathName(TestConstant.getWinRamDiskRuntimeDir());
builder.setProxyMode(true);
builder.setRemoveFiles(false);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/TestSaveFailureDoNotModifyStorage.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/TestSaveFailureDoNotModifyStorage.java 2012-05-21 21:30:06 UTC (rev 3089)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/TestSaveFailureDoNotModifyStorage.java 2012-05-23 05:25:24 UTC (rev 3090)
@@ -66,6 +66,8 @@
// /**/false/* do not manage garbage */);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
+ builder.setMaxBufferSize(8 * 1024);
+ builder.setMaxNumberOfBuffer(32);
builder.setPathName(path.getPath());
builder.setProxyMode(true);
builder.setRemoveFiles(false);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/TestStoreNotStorable.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/TestStoreNotStorable.java 2012-05-21 21:30:06 UTC (rev 3089)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/TestStoreNotStorable.java 2012-05-23 05:25:24 UTC (rev 3090)
@@ -55,6 +55,8 @@
// /**/false/* do not manage garbage */);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
+ builder.setMaxBufferSize(8 * 1024);
+ builder.setMaxNumberOfBuffer(32);
builder.setPathName(path.getPath());
builder.setProxyMode(true);
builder.setRemoveFiles(false);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/TestVisitedModified.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/TestVisitedModified.java 2012-05-21 21:30:06 UTC (rev 3089)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/TestVisitedModified.java 2012-05-23 05:25:24 UTC (rev 3090)
@@ -68,6 +68,8 @@
// /**/false/* do not manage garbage */);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
+ builder.setMaxBufferSize(8 * 1024);
+ builder.setMaxNumberOfBuffer(32);
builder.setPathName(path.getPath());
builder.setProxyMode(true);
builder.setRemoveFiles(false);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/bug/AbstractFileCheckPersistenceForTest.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/bug/AbstractFileCheckPersistenceForTest.java 2012-05-21 21:30:06 UTC (rev 3089)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/bug/AbstractFileCheckPersistenceForTest.java 2012-05-23 05:25:24 UTC (rev 3090)
@@ -57,6 +57,8 @@
// */);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
+ builder.setMaxBufferSize(8 * 1024);
+ builder.setMaxNumberOfBuffer(32);
builder.setPathName(TestConstant.getWinRamDiskRuntimeDir());
builder.setProxyMode(true);
builder.setRemoveFiles(false);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/bug/AbstractFilePersistenceForTest.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/bug/AbstractFilePersistenceForTest.java 2012-05-21 21:30:06 UTC (rev 3089)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/bug/AbstractFilePersistenceForTest.java 2012-05-23 05:25:24 UTC (rev 3090)
@@ -50,6 +50,8 @@
// filePersistence = new FilePersistence(1, null, path, false, true);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
+ builder.setMaxBufferSize(8 * 1024);
+ builder.setMaxNumberOfBuffer(32);
builder.setPathName(path.getPath());
builder.setRemoveFiles(false);
builder.setGarbageManagement(true);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/bug/TestBugChangeLog.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/bug/TestBugChangeLog.java 2012-05-21 21:30:06 UTC (rev 3089)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/bug/TestBugChangeLog.java 2012-05-23 05:25:24 UTC (rev 3090)
@@ -156,6 +156,8 @@
// /**/false /* pas de gestion garbage */,
// /**/crashSafeMode/* crash safe mode activé */);
builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
+ builder.setMaxBufferSize(8 * 1024);
+ builder.setMaxNumberOfBuffer(32);
builder.setPathName(repertoireDonnees);
builder.setFileCache(taillePageCacheDisque,
nombreDePageDuCacheDisque);
@@ -170,6 +172,8 @@
// /**/false /* pas de gestion garbage */,
// /**/crashSafeMode/* crash safe mode activé */);
builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
+ builder.setMaxBufferSize(8 * 1024);
+ builder.setMaxNumberOfBuffer(32);
builder.setPathName(repertoireDonnees);
builder.setProxyMode(true);
builder.setRemoveFiles(false);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/bug/TestGarbageModeError.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/bug/TestGarbageModeError.java 2012-05-21 21:30:06 UTC (rev 3089)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/bug/TestGarbageModeError.java 2012-05-23 05:25:24 UTC (rev 3090)
@@ -96,6 +96,8 @@
// TestConstant.getRuntimeDir(), false, true);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
+ builder.setMaxBufferSize(8 * 1024);
+ builder.setMaxNumberOfBuffer(32);
builder.setPathName(TestConstant.getWinRamDiskRuntimeDir());
builder.setProxyMode(true);
builder.setRemoveFiles(false);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/bug/TestRootObjectMapAutoSave.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/bug/TestRootObjectMapAutoSave.java 2012-05-21 21:30:06 UTC (rev 3089)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/bug/TestRootObjectMapAutoSave.java 2012-05-23 05:25:24 UTC (rev 3090)
@@ -70,6 +70,8 @@
// /**/false/* crash safe mode */);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
+ builder.setMaxBufferSize(8 * 1024);
+ builder.setMaxNumberOfBuffer(32);
builder.setPathName(path.getAbsolutePath());
builder.setProxyMode(true);
builder.setRemoveFiles(true);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/bug/TestSerializeAndNotLazy1.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/bug/TestSerializeAndNotLazy1.java 2012-05-21 21:30:06 UTC (rev 3089)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/bug/TestSerializeAndNotLazy1.java 2012-05-23 05:25:24 UTC (rev 3090)
@@ -54,6 +54,8 @@
// /**/true/* removeFile */, true/* garbageManagement */);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
+ builder.setMaxBufferSize(8 * 1024);
+ builder.setMaxNumberOfBuffer(32);
builder.setPathName(path.getPath());
builder.setProxyMode(true);
builder.setRemoveFiles(true);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/bug/TestSerializeAndNotLazy2.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/bug/TestSerializeAndNotLazy2.java 2012-05-21 21:30:06 UTC (rev 3089)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/bug/TestSerializeAndNotLazy2.java 2012-05-23 05:25:24 UTC (rev 3090)
@@ -56,6 +56,8 @@
// /**/true/* garbageManagement */);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
+ builder.setMaxBufferSize(8 * 1024);
+ builder.setMaxNumberOfBuffer(32);
builder.setPathName(path.getPath());
builder.setProxyMode(false);
builder.setRemoveFiles(true);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/bug/primitive/TestHoldPrimitive.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/bug/primitive/TestHoldPrimitive.java 2012-05-21 21:30:06 UTC (rev 3089)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/bug/primitive/TestHoldPrimitive.java 2012-05-23 05:25:24 UTC (rev 3090)
@@ -237,6 +237,8 @@
final String xpath = path.getAbsolutePath();
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
+ builder.setMaxBufferSize(8 * 1024);
+ builder.setMaxNumberOfBuffer(32);
builder.setPathName(xpath);
builder.setRemoveFiles(removeFiles);
builder.setFileCache(taillePageCacheDisque, nombreDePageDuCacheDisque);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/bug/savenum/TestEnumKeptInMemory.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/bug/savenum/TestEnumKeptInMemory.java 2012-05-21 21:30:06 UTC (rev 3089)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/bug/savenum/TestEnumKeptInMemory.java 2012-05-23 05:25:24 UTC (rev 3090)
@@ -81,6 +81,8 @@
final String xpath = path.getAbsolutePath();
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
+ builder.setMaxBufferSize(8 * 1024);
+ builder.setMaxNumberOfBuffer(32);
builder.setPathName(xpath);
builder.setRemoveFiles(removeFiles);
builder.setFileCache(taillePageCacheDisque, nombreDePageDuCacheDisque);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/bug/savenum/TestEnumPersistence.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/bug/savenum/TestEnumPersistence.java 2012-05-21 21:30:06 UTC (rev 3089)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/bug/savenum/TestEnumPersistence.java 2012-05-23 05:25:24 UTC (rev 3090)
@@ -82,6 +82,8 @@
final String xpath = path.getAbsolutePath();
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
+ builder.setMaxBufferSize(8 * 1024);
+ builder.setMaxNumberOfBuffer(32);
builder.setPathName(xpath);
builder.setRemoveFiles(removeFiles);
builder.setFileCache(taillePageCacheDisque, nombreDePageDuCacheDisque);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/joafip_for_test.properties
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/joafip_for_test.properties 2012-05-21 21:30:06 UTC (rev 3089)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/joafip_for_test.properties 2012-05-23 05:25:24 UTC (rev 3090)
@@ -17,6 +17,8 @@
joafip.substitutionOfJavaUtilCollection=enabled
#joafip.substitutionOfJavaUtilCollection=disabled
joafip.fileAccessMode=mapped
+joafip.numberOfFileBuffer=32
+joafip.fileBufferSize=8192
#joafip.substitute.<to substitute class name>=<substitute class name>,<synchronizer class name>
joafip.substitute.net.sf.joafip.store.service.objectfortest.Bob1=net.sf.joafip.store.service.objectfortest.Bob1Substitute,net.sf.joafip.store.service.objectfortest.Bob1Synchronizer
#joafip.storeMode.<path class>=<mode>
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestArraySerialization.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestArraySerialization.java 2012-05-21 21:30:06 UTC (rev 3089)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestArraySerialization.java 2012-05-23 05:25:24 UTC (rev 3090)
@@ -69,6 +69,8 @@
// filePersistence = new FilePersistence(1, null, path, true, false);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
+ builder.setMaxBufferSize(8 * 1024);
+ builder.setMaxNumberOfBuffer(32);
builder.setPathName(path.getPath());
builder.setProxyMode(true);
builder.setRemoveFiles(false);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestClassLoaderPersistence.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestClassLoaderPersistence.java 2012-05-21 21:30:06 UTC (rev 3089)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestClassLoaderPersistence.java 2012-05-23 05:25:24 UTC (rev 3090)
@@ -69,6 +69,8 @@
// /**/false/* do not manage garbage */);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
+ builder.setMaxBufferSize(8 * 1024);
+ builder.setMaxNumberOfBuffer(32);
builder.setPathName(path.getPath());
builder.setProxyMode(true);
builder.setRemoveFiles(true);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestExclusiveDataAccessSessionUsingProps.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestExclusiveDataAccessSessionUsingProps.java 2012-05-21 21:30:06 UTC (rev 3089)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestExclusiveDataAccessSessionUsingProps.java 2012-05-23 05:25:24 UTC (rev 3090)
@@ -131,6 +131,8 @@
TestException {
initialize(new String[] {
/**/"joafip.fileAccessMode=mapped",
+ /**/"joafip.numberOfFileBuffer=32",
+ /**/"joafip.fileBufferSize=8192",
/**/"joafip.path=" + TestConstant.getWinRamDiskRuntimeDir(),
/**/"joafip.dataModelIdentifier=1",
/**/"joafip.proxyMode=enabled",
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestImport222.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestImport222.java 2012-05-21 21:30:06 UTC (rev 3089)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestImport222.java 2012-05-23 05:25:24 UTC (rev 3090)
@@ -60,6 +60,8 @@
builder.setDataModelIdentifier(1);
builder.setDataModelConversionDefInputStream(inputStreamAndSource);
builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
+ builder.setMaxBufferSize(8 * 1024);
+ builder.setMaxNumberOfBuffer(32);
builder.setPathName(path.getPath());
builder.setProxyMode(true);
builder.setRemoveFiles(true);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestImport222NotLazy.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestImport222NotLazy.java 2012-05-21 21:30:06 UTC (rev 3089)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestImport222NotLazy.java 2012-05-23 05:25:24 UTC (rev 3090)
@@ -60,6 +60,8 @@
builder.setDataModelIdentifier(1);
builder.setDataModelConversionDefInputStream(inputStreamAndSource);
builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
+ builder.setMaxBufferSize(8 * 1024);
+ builder.setMaxNumberOfBuffer(32);
builder.setPathName(path.getPath());
builder.setProxyMode(false);
builder.setRemoveFiles(true);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestKeptInMemory.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestKeptInMemory.java 2012-05-21 21:30:06 UTC (rev 3089)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestKeptInMemory.java 2012-05-23 05:25:24 UTC (rev 3090)
@@ -78,6 +78,8 @@
// /**/false/* do not manage garbage */);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
+ builder.setMaxBufferSize(8 * 1024);
+ builder.setMaxNumberOfBuffer(32);
builder.setPathName(TestConstant.getWinRamDiskRuntimeDir());
builder.setProxyMode(true);
builder.setRemoveFiles(false);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestSubstitutionSerialize.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestSubstitutionSerialize.java 2012-05-21 21:30:06 UTC (rev 3089)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestSubstitutionSerialize.java 2012-05-23 05:25:24 UTC (rev 3090)
@@ -86,6 +86,8 @@
// filePersistence = new FilePersistence(1, null, path, true, false);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
+ builder.setMaxBufferSize(8 * 1024);
+ builder.setMaxNumberOfBuffer(32);
builder.setPathName(TestConstant.getWinRamDiskRuntimeDir());
builder.setProxyMode(true);
builder.setRemoveFiles(true);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestSubstitutionSerializeReadWriteMethod.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestSubstitutionSerializeReadWriteMethod.java 2012-05-21 21:30:06 UTC (rev 3089)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestSubstitutionSerializeReadWriteMethod.java 2012-05-23 05:25:24 UTC (rev 3090)
@@ -87,6 +87,8 @@
// filePersistence = new FilePersistence(1, null, path, true, false);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
+ builder.setMaxBufferSize(8 * 1024);
+ builder.setMaxNumberOfBuffer(32);
builder.setPathName(TestConstant.getWinRamDiskRuntimeDir());
builder.setProxyMode(true);
builder.setRemoveFiles(true);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestSubstitutionSubstitutedSerializable.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestSubstitutionSubstitutedSerializable.java 2012-05-21 21:30:06 UTC (rev 3089)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestSubstitutionSubstitutedSerializable.java 2012-05-23 05:25:24 UTC (rev 3090)
@@ -86,6 +86,8 @@
// filePersistence = new FilePersistence(1, null, path, true, false);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
+ builder.setMaxBufferSize(8 * 1024);
+ builder.setMaxNumberOfBuffer(32);
builder.setPathName(path.getPath());
builder.setProxyMode(true);
builder.setRemoveFiles(true);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestSubstitutionWithDataAccessSession.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestSubstitutionWithDataAccessSession.java 2012-05-21 21:30:06 UTC (rev 3089)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestSubstitutionWithDataAccessSession.java 2012-05-23 05:25:24 UTC (rev 3090)
@@ -84,6 +84,8 @@
// filePersistence = new FilePersistence(1, null, path, true, false);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
+ builder.setMaxBufferSize(8 * 1024);
+ builder.setMaxNumberOfBuffer(32);
builder.setPathName(path.getPath());
builder.setProxyMode(true);
builder.setRemoveFiles(true);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestThisInConstructor.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestThisInConstructor.java 2012-05-21 21:30:06 UTC (rev 3089)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestThisInConstructor.java 2012-05-23 05:25:24 UTC (rev 3090)
@@ -68,6 +68,8 @@
// filePersistence = new FilePersistence(1, null, path, true, false);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
+ builder.setMaxBufferSize(8 * 1024);
+ builder.setMaxNumberOfBuffer(32);
builder.setPathName(path.getPath());
builder.setProxyMode(true);
builder.setRemoveFiles(true);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestUseRuntime222.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestUseRuntime222.java 2012-05-21 21:30:06 UTC (rev 3089)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestUseRuntime222.java 2012-05-23 05:25:24 UTC (rev 3090)
@@ -64,6 +64,8 @@
builder.setDataModelIdentifier(1);
builder.setDataModelConversionDefInputStream(inputStream);
builder.setFileAccessMode(EnumFileAcces...
[truncated message content] |
|
From: <luc...@us...> - 2012-05-23 05:25:32
|
Revision: 3090
http://joafip.svn.sourceforge.net/joafip/?rev=3090&view=rev
Author: luc_peuvrier
Date: 2012-05-23 05:25:24 +0000 (Wed, 23 May 2012)
Log Message:
-----------
added buffer parameters for mapped file access
Modified Paths:
--------------
trunk/joafip/src/main/java/net/sf/joafip/entity/FilePersistenceProperties.java
trunk/joafip/src/main/java/net/sf/joafip/service/FilePersistenceBuilder.java
trunk/joafip/src/main/java/net/sf/joafip/service/FilePersistencePropertiesReader.java
trunk/joafip/src/main/java/net/sf/joafip/store/entity/StoreProperties.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/AbstractDelegatingToStoreManagers.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/AbstractStoreDelegatingToDataManager.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/Store.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/export_import/out/ExportStoreQue.java
trunk/joafip/src/test/java/net/sf/joafip/service/AbstractTestCustomObjectIO.java
trunk/joafip/src/test/java/net/sf/joafip/service/AbstractTestSerializable.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestBobSerializeStackOverflow.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestClear.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestCrashSafe.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestExportImport.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestExportObject.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestFilePersistenceNoG.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestFilePersistenceOpenClose.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestFilePersistenceWithG.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestInnerClassProxy.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestMultiAccessFilePersistence.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestMultipleFilePersistenceInstance.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestSaveFailureDoNotModifyStorage.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestStoreNotStorable.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestVisitedModified.java
trunk/joafip/src/test/java/net/sf/joafip/service/bug/AbstractFileCheckPersistenceForTest.java
trunk/joafip/src/test/java/net/sf/joafip/service/bug/AbstractFilePersistenceForTest.java
trunk/joafip/src/test/java/net/sf/joafip/service/bug/TestBugChangeLog.java
trunk/joafip/src/test/java/net/sf/joafip/service/bug/TestGarbageModeError.java
trunk/joafip/src/test/java/net/sf/joafip/service/bug/TestRootObjectMapAutoSave.java
trunk/joafip/src/test/java/net/sf/joafip/service/bug/TestSerializeAndNotLazy1.java
trunk/joafip/src/test/java/net/sf/joafip/service/bug/TestSerializeAndNotLazy2.java
trunk/joafip/src/test/java/net/sf/joafip/service/bug/primitive/TestHoldPrimitive.java
trunk/joafip/src/test/java/net/sf/joafip/service/bug/savenum/TestEnumKeptInMemory.java
trunk/joafip/src/test/java/net/sf/joafip/service/bug/savenum/TestEnumPersistence.java
trunk/joafip/src/test/java/net/sf/joafip/service/joafip_for_test.properties
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestArraySerialization.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestClassLoaderPersistence.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestExclusiveDataAccessSessionUsingProps.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestImport222.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestImport222NotLazy.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestKeptInMemory.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestSubstitutionSerialize.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestSubstitutionSerializeReadWriteMethod.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestSubstitutionSubstitutedSerializable.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestSubstitutionWithDataAccessSession.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestThisInConstructor.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestUseRuntime222.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestUseRuntime222NotLazy.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel301/TestImport300.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel301/TestUseRuntime300Lazy.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel301/TestUseRuntime300NotLazy.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel310/TestImport301ConversionA.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel310/TestImport301ConversionB.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel310/TestUseRuntime301LazyConversionA.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel310/TestUseRuntime301LazyConversionB.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel310/TestUseRuntime301NotLazyConversionA.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel310/TestUseRuntime301NotLazyConversionB.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestAutoSave.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestEnumMap.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestFileManagementOptions.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestInstanceFactoryUsage.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestPHashMapNewInstance.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestPrivateAccess.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestRuntime310Garbage.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestSaveInExclusiveDataAccessSession.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestStoredImmutableEnum.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestTreeMapIteratorAutoSave.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestTreeSetIteratorAutoSave.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestTreeSupportIterator.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestTreeSupportIteratorAutoSave.java
trunk/joafip/src/test/java/net/sf/joafip/service/sync/TestSynchronizedCollection.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/StoreForTest.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/TestStoreNoG.java
trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWrite3GByteFileOutputStreamMapped.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/DeleterBtreePlus.java
trunk/joafip-4test/src/main/java/net/sf/joafip/performance/items/service/InserterBtreePlusWhithCache.java
trunk/joafip-4test/src/main/java/net/sf/joafip/performance/items/service/InserterBtreePlusWhithoutCache.java
trunk/joafip-4test/src/main/java/net/sf/joafip/performance/items/service/SearcherBtreePlus.java
trunk/joafip-example-simplestore/src/main/java/net/sf/joafip/simplestore/SimpleStore.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/AbstractRandomAccessFile.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/RandomAccessFileDirectMapped.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/RandomAccessFileReadWriteCache.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/stream/FileOutputStreamMapped.java
trunk/joafip-file/src/test/java/net/sf/joafip/file/service/AbstractRandomFileTest.java
trunk/joafip-file/src/test/java/net/sf/joafip/file/service/ParallelRandomAccessFileForTest.java
trunk/joafip-file/src/test/java/net/sf/joafip/file/service/RandomFileDirectMappedTest.java
trunk/joafip-heapfile/src/test/java/net/sf/joafip/heapfile/record/TestIdNode.java
trunk/joafip-heapfile/src/test/java/net/sf/joafip/heapfile/record/service/TestHeapRecordManage.java
trunk/joafip-heapfile/src/test/java/net/sf/joafip/heapfile/record/service/TestHeapRecordStoreRestore.java
trunk/joafip-kvstore/src/main/java/net/sf/joafip/kvstore/entity/HeapFileSetup.java
trunk/joafip-kvstore/src/main/java/net/sf/joafip/kvstore/record/service/HeapElementManagerFactory.java
trunk/joafip-kvstore/src/main/java/net/sf/joafip/kvstore/service/FileForStorable.java
trunk/joafip-kvstore/src/test/java/net/sf/joafip/kvstore/record/entity/TestAbstractFileStorable.java
trunk/joafip-kvstore/src/test/java/net/sf/joafip/kvstore/record/entity/TestMarshall.java
trunk/joafip-kvstore/src/test/java/net/sf/joafip/kvstore/record/service/AbstractTestHeapElementManager.java
trunk/joafip-kvstore/src/test/java/net/sf/joafip/kvstore/service/BlockDataManager.java
Added Paths:
-----------
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/stream/FileInputStreamMapped.java
trunk/joafip-kvstore/src/main/java/net/sf/joafip/kvstore/entity/FileAccessParameter.java
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <luc...@us...> - 2012-05-21 21:30:13
|
Revision: 3089
http://joafip.svn.sourceforge.net/joafip/?rev=3089&view=rev
Author: luc_peuvrier
Date: 2012-05-21 21:30:06 +0000 (Mon, 21 May 2012)
Log Message:
-----------
2 giga bytes limit test ok
Added Paths:
-----------
trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/AbstractWriteRead3Gbyte.java
trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWrite3GByteFileOutputStream.java
trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWrite3GByteFileOutputStreamMapped.java
trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWriteRead3GByteFileOutputStream.java
trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWriteRead3GByteFileOutputStreamNIO.java
Removed Paths:
-------------
trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/AbstractWriteRead1Gbyte.java
trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWrite1GByteFileOutputStream.java
trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWrite1GByteFileOutputStreamMapped.java
trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWriteRead1GByteFileOutputStream.java
trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWriteRead1GByteFileOutputStreamNIO.java
Deleted: trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/AbstractWriteRead1Gbyte.java
===================================================================
--- trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/AbstractWriteRead1Gbyte.java 2012-05-21 20:59:47 UTC (rev 3088)
+++ trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/AbstractWriteRead1Gbyte.java 2012-05-21 21:30:06 UTC (rev 3089)
@@ -1,91 +0,0 @@
-/*
- * Copyright 2012 Luc Peuvrier
- * All rights reserved.
- *
- * 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.file.service;
-
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.Arrays;
-
-/**
- *
- * @author luc peuvrier
- *
- */
-public abstract class AbstractWriteRead1Gbyte {
-
- private static final byte[] DATA = new byte[1024];
-
- static {
- for (int index = 0; index < 1024; index++) {
- DATA[index] = (byte) index;
- }
- }
-
- /**
- *
- * @return mS 1 giga byte write duration
- * @throws Exception
- * @throws IOException
- */
- protected long write(final OutputStream outputStream) throws Exception {// NOPMD
- int count = -1;
- try {
- final long beginTime = System.currentTimeMillis();
- for (count = 0; count < 1024 * 1024; count++) {
- outputStream.write(DATA);
- }
- outputStream.close();
- return System.currentTimeMillis() - beginTime;
- } catch (Exception exception) {
- throw new Exception("count " + count + ", size "// NOPMD
- + (count * DATA.length), exception);
- }
- }
-
- protected long read(final InputStream inputStream) throws Exception {// NOPMD
- int count = -1;
- try {
- final byte[] data = new byte[1024];
- final long beginTime = System.currentTimeMillis();
- for (count = 0; count < 1024 * 1024; count++) {
- final int read = inputStream.read(data);
- if (read != 1024) {
- throw new Exception("must read 1024 bytes");// NOPMD
- }
- if (!Arrays.equals(data, DATA)) {
- throw new Exception("bad data");// NOPMD
- }
- }
- final int read = inputStream.read(data);
- if (read != -1) {
- throw new Exception("must be end of file");// NOPMD
- }
- inputStream.close();
- return System.currentTimeMillis() - beginTime;
- } catch (Exception exception) {
- throw new Exception("count " + count + ", size "// NOPMD
- + (count * DATA.length), exception);
- }
- }
-}
Copied: trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/AbstractWriteRead3Gbyte.java (from rev 3087, trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/AbstractWriteRead1Gbyte.java)
===================================================================
--- trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/AbstractWriteRead3Gbyte.java (rev 0)
+++ trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/AbstractWriteRead3Gbyte.java 2012-05-21 21:30:06 UTC (rev 3089)
@@ -0,0 +1,91 @@
+/*
+ * Copyright 2012 Luc Peuvrier
+ * All rights reserved.
+ *
+ * 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.file.service;
+
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.util.Arrays;
+
+/**
+ *
+ * @author luc peuvrier
+ *
+ */
+public abstract class AbstractWriteRead3Gbyte {
+
+ private static final byte[] DATA = new byte[1024];
+
+ static {
+ for (int index = 0; index < 1024; index++) {
+ DATA[index] = (byte) index;
+ }
+ }
+
+ /**
+ *
+ * @return mS 1 giga byte write duration
+ * @throws Exception
+ * @throws IOException
+ */
+ protected long write(final OutputStream outputStream) throws Exception {// NOPMD
+ int count = -1;
+ try {
+ final long beginTime = System.currentTimeMillis();
+ for (count = 0; count < 3 * 1024 * 1024; count++) {
+ outputStream.write(DATA);
+ }
+ outputStream.close();
+ return System.currentTimeMillis() - beginTime;
+ } catch (Exception exception) {
+ throw new Exception("count " + count + ", size "// NOPMD
+ + (count * DATA.length), exception);
+ }
+ }
+
+ protected long read(final InputStream inputStream) throws Exception {// NOPMD
+ int count = -1;
+ try {
+ final byte[] data = new byte[1024];
+ final long beginTime = System.currentTimeMillis();
+ for (count = 0; count < 3 * 1024 * 1024; count++) {
+ final int read = inputStream.read(data);
+ if (read != 1024) {
+ throw new Exception("must read 1024 bytes");// NOPMD
+ }
+ if (!Arrays.equals(data, DATA)) {
+ throw new Exception("bad data");// NOPMD
+ }
+ }
+ final int read = inputStream.read(data);
+ if (read != -1) {
+ throw new Exception("must be end of file");// NOPMD
+ }
+ inputStream.close();
+ return System.currentTimeMillis() - beginTime;
+ } catch (Exception exception) {
+ throw new Exception("count " + count + ", size "// NOPMD
+ + (count * DATA.length), exception);
+ }
+ }
+}
Deleted: trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWrite1GByteFileOutputStream.java
===================================================================
--- trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWrite1GByteFileOutputStream.java 2012-05-21 20:59:47 UTC (rev 3088)
+++ trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWrite1GByteFileOutputStream.java 2012-05-21 21:30:06 UTC (rev 3089)
@@ -1,58 +0,0 @@
-/*
- * Copyright 2012 Luc Peuvrier
- * All rights reserved.
- *
- * 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.file.service;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.InputStream;
-import java.io.OutputStream;
-
-import net.sf.joafip.NotStorableClass;
-
-/**
- *
- * @author luc peuvrier
- *
- */
-@NotStorableClass
-public class MainWrite1GByteFileOutputStream extends AbstractWriteRead1Gbyte {
-
- @SuppressWarnings("PMD")
- public static void main(final String[] args) {
- try {
- final File file = new File("runtime/1gb.bin");
- file.delete();
- final MainWriteRead1GByteFileOutputStream main = new MainWriteRead1GByteFileOutputStream();
- final OutputStream outputStream = new FileOutputStream(file);
- System.out.println("write duration " + main.write(outputStream)
- + " mS");// NOPMD
- final InputStream inputStream = new FileInputStream(file);
- System.out.println("read duration " + main.read(inputStream)
- + " mS");// NOPMD
- } catch (Exception exception) {
- exception.printStackTrace();// NOPMD
- }
- }
-}
Deleted: trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWrite1GByteFileOutputStreamMapped.java
===================================================================
--- trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWrite1GByteFileOutputStreamMapped.java 2012-05-21 20:59:47 UTC (rev 3088)
+++ trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWrite1GByteFileOutputStreamMapped.java 2012-05-21 21:30:06 UTC (rev 3089)
@@ -1,52 +0,0 @@
-/*
- * Copyright 2012 Luc Peuvrier
- * All rights reserved.
- *
- * 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.file.service;
-
-import java.io.File;
-import java.io.OutputStream;
-
-import net.sf.joafip.file.service.stream.FileOutputStreamMapped;
-
-/**
- *
- * @author luc peuvrier
- *
- */
-public class MainWrite1GByteFileOutputStreamMapped extends
- AbstractWriteRead1Gbyte {
-
- @SuppressWarnings("PMD")
- public static void main(final String[] args) {
- try {
- final File file = new File("runtime/1gb.bin");
- file.delete();
- final MainWrite1GByteFileOutputStreamMapped main = new MainWrite1GByteFileOutputStreamMapped();
- final OutputStream outputStream = new FileOutputStreamMapped(file);
- System.out.println("write duration " + main.write(outputStream)
- + " mS");// NOPMD
- } catch (Exception exception) {
- exception.printStackTrace();// NOPMD
- }
- }
-}
Copied: trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWrite3GByteFileOutputStream.java (from rev 3087, trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWrite1GByteFileOutputStream.java)
===================================================================
--- trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWrite3GByteFileOutputStream.java (rev 0)
+++ trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWrite3GByteFileOutputStream.java 2012-05-21 21:30:06 UTC (rev 3089)
@@ -0,0 +1,58 @@
+/*
+ * Copyright 2012 Luc Peuvrier
+ * All rights reserved.
+ *
+ * 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.file.service;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.InputStream;
+import java.io.OutputStream;
+
+import net.sf.joafip.NotStorableClass;
+
+/**
+ *
+ * @author luc peuvrier
+ *
+ */
+@NotStorableClass
+public class MainWrite3GByteFileOutputStream extends AbstractWriteRead3Gbyte {
+
+ @SuppressWarnings("PMD")
+ public static void main(final String[] args) {
+ try {
+ final File file = new File("runtime/3gb.bin");
+ file.delete();
+ final MainWriteRead3GByteFileOutputStream main = new MainWriteRead3GByteFileOutputStream();
+ final OutputStream outputStream = new FileOutputStream(file);
+ System.out.println("write duration " + main.write(outputStream)
+ + " mS");// NOPMD
+ final InputStream inputStream = new FileInputStream(file);
+ System.out.println("read duration " + main.read(inputStream)
+ + " mS");// NOPMD
+ } catch (Exception exception) {
+ exception.printStackTrace();// NOPMD
+ }
+ }
+}
Copied: trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWrite3GByteFileOutputStreamMapped.java (from rev 3087, trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWrite1GByteFileOutputStreamMapped.java)
===================================================================
--- trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWrite3GByteFileOutputStreamMapped.java (rev 0)
+++ trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWrite3GByteFileOutputStreamMapped.java 2012-05-21 21:30:06 UTC (rev 3089)
@@ -0,0 +1,52 @@
+/*
+ * Copyright 2012 Luc Peuvrier
+ * All rights reserved.
+ *
+ * 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.file.service;
+
+import java.io.File;
+import java.io.OutputStream;
+
+import net.sf.joafip.file.service.stream.FileOutputStreamMapped;
+
+/**
+ *
+ * @author luc peuvrier
+ *
+ */
+public class MainWrite3GByteFileOutputStreamMapped extends
+ AbstractWriteRead3Gbyte {
+
+ @SuppressWarnings("PMD")
+ public static void main(final String[] args) {
+ try {
+ final File file = new File("runtime/3gb.bin");
+ file.delete();
+ final MainWrite3GByteFileOutputStreamMapped main = new MainWrite3GByteFileOutputStreamMapped();
+ final OutputStream outputStream = new FileOutputStreamMapped(file);
+ System.out.println("write duration " + main.write(outputStream)
+ + " mS");// NOPMD
+ } catch (Exception exception) {
+ exception.printStackTrace();// NOPMD
+ }
+ }
+}
Deleted: trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWriteRead1GByteFileOutputStream.java
===================================================================
--- trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWriteRead1GByteFileOutputStream.java 2012-05-21 20:59:47 UTC (rev 3088)
+++ trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWriteRead1GByteFileOutputStream.java 2012-05-21 21:30:06 UTC (rev 3089)
@@ -1,59 +0,0 @@
-/*
- * Copyright 2012 Luc Peuvrier
- * All rights reserved.
- *
- * 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.file.service;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.InputStream;
-import java.io.OutputStream;
-
-import net.sf.joafip.NotStorableClass;
-
-/**
- *
- * @author luc peuvrier
- *
- */
-@NotStorableClass
-public class MainWriteRead1GByteFileOutputStream extends
- AbstractWriteRead1Gbyte {
-
- @SuppressWarnings("PMD")
- public static void main(final String[] args) {
- try {
- final File file = new File("runtime/1gb.bin");
- file.delete();
- final MainWriteRead1GByteFileOutputStream main = new MainWriteRead1GByteFileOutputStream();
- final OutputStream outputStream = new FileOutputStream(file);
- System.out.println("write duration " + main.write(outputStream)
- + " mS");// NOPMD
- final InputStream inputStream = new FileInputStream(file);
- System.out.println("read duration " + main.read(inputStream)
- + " mS");// NOPMD
- } catch (Exception exception) {
- exception.printStackTrace();// NOPMD
- }
- }
-}
Deleted: trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWriteRead1GByteFileOutputStreamNIO.java
===================================================================
--- trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWriteRead1GByteFileOutputStreamNIO.java 2012-05-21 20:59:47 UTC (rev 3088)
+++ trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWriteRead1GByteFileOutputStreamNIO.java 2012-05-21 21:30:06 UTC (rev 3089)
@@ -1,57 +0,0 @@
-/*
- * Copyright 2012 Luc Peuvrier
- * All rights reserved.
- *
- * 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.file.service;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.InputStream;
-import java.io.OutputStream;
-
-import net.sf.joafip.file.service.stream.FileOutputStreamNIO;
-
-/**
- *
- * @author luc peuvrier
- *
- */
-public class MainWriteRead1GByteFileOutputStreamNIO extends
- AbstractWriteRead1Gbyte {
-
- @SuppressWarnings("PMD")
- public static void main(final String[] args) {
- try {
- final File file = new File("runtime/1gb.bin");
- file.delete();
- final MainWriteRead1GByteFileOutputStreamNIO main = new MainWriteRead1GByteFileOutputStreamNIO();
- final OutputStream outputStream = new FileOutputStreamNIO(file);
- System.out.println("write duration " + main.write(outputStream)
- + " mS");// NOPMD
- final InputStream inputStream = new FileInputStream(file);
- System.out.println("read duration " + main.read(inputStream)
- + " mS");// NOPMD
- } catch (Exception exception) {
- exception.printStackTrace();// NOPMD
- }
- }
-}
Copied: trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWriteRead3GByteFileOutputStream.java (from rev 3087, trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWriteRead1GByteFileOutputStream.java)
===================================================================
--- trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWriteRead3GByteFileOutputStream.java (rev 0)
+++ trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWriteRead3GByteFileOutputStream.java 2012-05-21 21:30:06 UTC (rev 3089)
@@ -0,0 +1,59 @@
+/*
+ * Copyright 2012 Luc Peuvrier
+ * All rights reserved.
+ *
+ * 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.file.service;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.InputStream;
+import java.io.OutputStream;
+
+import net.sf.joafip.NotStorableClass;
+
+/**
+ *
+ * @author luc peuvrier
+ *
+ */
+@NotStorableClass
+public class MainWriteRead3GByteFileOutputStream extends
+ AbstractWriteRead3Gbyte {
+
+ @SuppressWarnings("PMD")
+ public static void main(final String[] args) {
+ try {
+ final File file = new File("runtime/3gb.bin");
+ file.delete();
+ final MainWriteRead3GByteFileOutputStream main = new MainWriteRead3GByteFileOutputStream();
+ final OutputStream outputStream = new FileOutputStream(file);
+ System.out.println("write duration " + main.write(outputStream)
+ + " mS");// NOPMD
+ final InputStream inputStream = new FileInputStream(file);
+ System.out.println("read duration " + main.read(inputStream)
+ + " mS");// NOPMD
+ } catch (Exception exception) {
+ exception.printStackTrace();// NOPMD
+ }
+ }
+}
Copied: trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWriteRead3GByteFileOutputStreamNIO.java (from rev 3087, trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWriteRead1GByteFileOutputStreamNIO.java)
===================================================================
--- trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWriteRead3GByteFileOutputStreamNIO.java (rev 0)
+++ trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWriteRead3GByteFileOutputStreamNIO.java 2012-05-21 21:30:06 UTC (rev 3089)
@@ -0,0 +1,57 @@
+/*
+ * Copyright 2012 Luc Peuvrier
+ * All rights reserved.
+ *
+ * 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.file.service;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.InputStream;
+import java.io.OutputStream;
+
+import net.sf.joafip.file.service.stream.FileOutputStreamNIO;
+
+/**
+ *
+ * @author luc peuvrier
+ *
+ */
+public class MainWriteRead3GByteFileOutputStreamNIO extends
+ AbstractWriteRead3Gbyte {
+
+ @SuppressWarnings("PMD")
+ public static void main(final String[] args) {
+ try {
+ final File file = new File("runtime/3gb.bin");
+ file.delete();
+ final MainWriteRead3GByteFileOutputStreamNIO main = new MainWriteRead3GByteFileOutputStreamNIO();
+ final OutputStream outputStream = new FileOutputStreamNIO(file);
+ System.out.println("write duration " + main.write(outputStream)
+ + " mS");// NOPMD
+ final InputStream inputStream = new FileInputStream(file);
+ System.out.println("read duration " + main.read(inputStream)
+ + " mS");// NOPMD
+ } catch (Exception exception) {
+ exception.printStackTrace();// NOPMD
+ }
+ }
+}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <luc...@us...> - 2012-05-21 21:30:12
|
Revision: 3089
http://joafip.svn.sourceforge.net/joafip/?rev=3089&view=rev
Author: luc_peuvrier
Date: 2012-05-21 21:30:06 +0000 (Mon, 21 May 2012)
Log Message:
-----------
2 giga bytes limit test ok
Added Paths:
-----------
trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/AbstractWriteRead3Gbyte.java
trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWrite3GByteFileOutputStream.java
trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWrite3GByteFileOutputStreamMapped.java
trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWriteRead3GByteFileOutputStream.java
trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWriteRead3GByteFileOutputStreamNIO.java
Removed Paths:
-------------
trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/AbstractWriteRead1Gbyte.java
trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWrite1GByteFileOutputStream.java
trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWrite1GByteFileOutputStreamMapped.java
trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWriteRead1GByteFileOutputStream.java
trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWriteRead1GByteFileOutputStreamNIO.java
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <luc...@us...> - 2012-05-21 20:59:54
|
Revision: 3088
http://joafip.svn.sourceforge.net/joafip/?rev=3088&view=rev
Author: luc_peuvrier
Date: 2012-05-21 20:59:47 +0000 (Mon, 21 May 2012)
Log Message:
-----------
file io exception refactoring
Modified Paths:
--------------
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/AbstractRandomAccessFile.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/ExRandomAccessFile.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/FileIOAccessDenyException.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/FileIOErrorException.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/FileIOException.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/FileIOFailedDeleteException.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/FileIOFailedRenameException.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/FileIONotFoundException.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/HelperFileUtil.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/RandomAccessFileDirect.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/RandomAccessFileDirectMapped.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/RandomAccessFileDirectNio.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/RandomAccessFileReadWriteCache.java
trunk/joafip-file/src/test/java/net/sf/joafip/file/service/ParallelRandomAccessFileForTest.java
trunk/joafip-kvstore/src/test/java/net/sf/joafip/kvstore/record/service/mock/MockFileForStorable.java
Modified: trunk/joafip-file/src/main/java/net/sf/joafip/file/service/AbstractRandomAccessFile.java
===================================================================
--- trunk/joafip-file/src/main/java/net/sf/joafip/file/service/AbstractRandomAccessFile.java 2012-05-21 03:59:02 UTC (rev 3087)
+++ trunk/joafip-file/src/main/java/net/sf/joafip/file/service/AbstractRandomAccessFile.java 2012-05-21 20:59:47 UTC (rev 3088)
@@ -190,8 +190,7 @@
if (!opened) {
final File file = getFile();
logger.error(file + " is not opened", closerTrace);
- throw HELPER_FILE_UTIL.fileIOException(file + " is not opened",
- file, null);
+ throw FileIOException.create(file + " is not opened", file, null);
}
}
@@ -199,8 +198,7 @@
if (opened) {
final File file = getFile();
logger.error(file + " is opened", openerTrace);
- throw HELPER_FILE_UTIL.fileIOException(file + " is opened", file,
- null);
+ throw FileIOException.create(file + " is opened", file, null);
}
}
}
Modified: trunk/joafip-file/src/main/java/net/sf/joafip/file/service/ExRandomAccessFile.java
===================================================================
--- trunk/joafip-file/src/main/java/net/sf/joafip/file/service/ExRandomAccessFile.java 2012-05-21 03:59:02 UTC (rev 3087)
+++ trunk/joafip-file/src/main/java/net/sf/joafip/file/service/ExRandomAccessFile.java 2012-05-21 20:59:47 UTC (rev 3088)
@@ -95,15 +95,15 @@
+ " time, on "
+ (System.currentTimeMillis() - startTime) + M_S;
LOGGER.fatal(failureMessage);
- throw HELPER_FILE_UTIL.fileIOException(failureMessage,
- file, exception);
+ throw FileIOException.create(failureMessage, file,
+ exception);
}
LOGGER.error("failed open " + file);
try {
Thread.sleep(retryMsDelay);
} catch (InterruptedException exception2) {
LOGGER.error(message);
- throw HELPER_FILE_UTIL.fileIOException(WAIT_INTERRUPTED// NOPMD
+ throw FileIOException.create(WAIT_INTERRUPTED// NOPMD
+ message, file, exception);
}
}
@@ -141,15 +141,15 @@
+ (System.currentTimeMillis() - startTime) + M_S;
LOGGER.fatal(failureMessage, exception);
randomAccessFile = null;// NOPMD object no more usable
- throw HELPER_FILE_UTIL.fileIOException(failureMessage,
- file, exception);
+ throw FileIOException.create(failureMessage, file,
+ exception);
}
LOGGER.error(message, exception);
try {
Thread.sleep(retryMsDelay);
} catch (InterruptedException exception2) {
LOGGER.error(message, exception2);
- throw HELPER_FILE_UTIL.fileIOException(WAIT_INTERRUPTED// NOPMD
+ throw FileIOException.create(WAIT_INTERRUPTED// NOPMD
+ message, file, exception);
}
}
@@ -168,8 +168,8 @@
randomAccessFile.close();
randomAccessFile = null;// NOPMD object no more usable
} catch (Exception exception) {
- throw HELPER_FILE_UTIL.fileIOException("failed close " + file,
- file, exception);
+ throw FileIOException.create("failed close " + file, file,
+ exception);
}
}
@@ -178,14 +178,13 @@
try {
fileChannel.force(metaData);
} catch (IOException exception) {
- throw HELPER_FILE_UTIL.fileIOException("failed force ", file,
- exception);
+ throw FileIOException.create("failed force ", file, exception);
}
}
public void deleteIfExists() throws FileIOException {
if (fileChannel != null) {
- throw HELPER_FILE_UTIL.fileIOException("failed delete " + file
+ throw FileIOException.create("failed delete " + file
+ " because opened", file, null);
}
HELPER_FILE_UTIL.delete(file, maxRetry, retryMsDelay);
@@ -194,7 +193,7 @@
public void deleteIfExistsRenaming() throws FileIOException {
if (fileChannel != null) {
- throw HELPER_FILE_UTIL.fileIOException("failed delete " + file
+ throw FileIOException.create("failed delete " + file
+ " because opened", file, null);
}
HELPER_FILE_UTIL.deleteRenaming(file, maxRetry, retryMsDelay);
@@ -205,8 +204,8 @@
try {
return randomAccessFile.length();
} catch (IOException exception) {
- throw HELPER_FILE_UTIL.fileIOException("failed get length of "
- + file, file, exception);
+ throw FileIOException.create("failed get length of " + file, file,
+ exception);
}
}
@@ -214,8 +213,8 @@
try {
return fileChannel.size();
} catch (IOException exception) {
- throw HELPER_FILE_UTIL.fileIOException("failed get length of "
- + file, file, exception);
+ throw FileIOException.create("failed get length of " + file, file,
+ exception);
}
}
Modified: trunk/joafip-file/src/main/java/net/sf/joafip/file/service/FileIOAccessDenyException.java
===================================================================
--- trunk/joafip-file/src/main/java/net/sf/joafip/file/service/FileIOAccessDenyException.java 2012-05-21 03:59:02 UTC (rev 3087)
+++ trunk/joafip-file/src/main/java/net/sf/joafip/file/service/FileIOAccessDenyException.java 2012-05-21 20:59:47 UTC (rev 3088)
@@ -36,15 +36,14 @@
*/
private static final long serialVersionUID = 273068463040664220L;
- public FileIOAccessDenyException(final String message, final File file,
+ protected FileIOAccessDenyException(final String message, final File file,
final Exception exception) {
- super(message, exception);
- this.file = file;
+ super(message, file, exception);
}
@Override
- public FileIOException create(final String message, final File file,
- final Exception exception) {
+ protected FileIOException newInstance(final String message,
+ final File file, final Exception exception) {
return new FileIOAccessDenyException(message, file, exception);
}
Modified: trunk/joafip-file/src/main/java/net/sf/joafip/file/service/FileIOErrorException.java
===================================================================
--- trunk/joafip-file/src/main/java/net/sf/joafip/file/service/FileIOErrorException.java 2012-05-21 03:59:02 UTC (rev 3087)
+++ trunk/joafip-file/src/main/java/net/sf/joafip/file/service/FileIOErrorException.java 2012-05-21 20:59:47 UTC (rev 3088)
@@ -36,15 +36,14 @@
*/
private static final long serialVersionUID = -6386146407153074823L;
- public FileIOErrorException(final String message, final File file,
+ protected FileIOErrorException(final String message, final File file,
final Exception exception) {
- super(message, exception);
- this.file = file;
+ super(message, file, exception);
}
@Override
- public FileIOException create(final String message, final File file,
- final Exception exception) {
+ protected FileIOException newInstance(final String message,
+ final File file, final Exception exception) {
return new FileIOErrorException(message, file, exception);
}
Modified: trunk/joafip-file/src/main/java/net/sf/joafip/file/service/FileIOException.java
===================================================================
--- trunk/joafip-file/src/main/java/net/sf/joafip/file/service/FileIOException.java 2012-05-21 03:59:02 UTC (rev 3087)
+++ trunk/joafip-file/src/main/java/net/sf/joafip/file/service/FileIOException.java 2012-05-21 20:59:47 UTC (rev 3088)
@@ -23,6 +23,7 @@
package net.sf.joafip.file.service;
import java.io.File;
+import java.io.FileNotFoundException;
/**
*
@@ -36,28 +37,60 @@
*/
private static final long serialVersionUID = -8840281721876126214L;
- protected File file;
+ private final File file;
- protected FileIOException() {
- super();
- }
+ // protected FileIOException() {
+ // super();
+ // }
- protected FileIOException(final String message, final Throwable cause) {
+ protected FileIOException(final String message, final File file,
+ final Throwable cause) {
super(message, cause);
+ this.file = file;
}
- protected FileIOException(final String message) {
- super(message);
- }
+ // protected FileIOException(final String message) {
+ // super(message);
+ // }
- protected FileIOException(final Throwable cause) {
- super(cause);
- }
+ // protected FileIOException(final Throwable cause) {
+ // super(cause);
+ // }
- public abstract FileIOException create(final String message,
+ protected abstract FileIOException newInstance(final String message,
final File file, final Exception exception);
public File getFile() {
return file;
}
+
+ public static FileIOException create(final String message, final File file,
+ final Exception exception) {
+ final FileIOException fileIOException;
+ if (exception == null) {
+ fileIOException = new FileIOErrorException(message, file, exception);
+ } else if (exception instanceof FileNotFoundException) {
+ fileIOException = new FileIONotFoundException(message, file,
+ exception);
+ } else if (exception instanceof SecurityException) {
+ fileIOException = new FileIOAccessDenyException(message, file,
+ exception);
+ } else if (exception instanceof FileIOException) {
+ fileIOException = ((FileIOException) exception).newInstance(
+ message, file, exception);
+ } else {
+ fileIOException = new FileIOErrorException(message, file, exception);
+ }
+ return fileIOException;
+ }
+
+ public static FileIOException createFailedDelete(final String message,
+ final File file, final Exception exception) {
+ return new FileIOFailedDeleteException(message, file, exception);
+ }
+
+ public static FileIOException createFailedRename(final String message,
+ final File file, final Exception exception) {
+ return new FileIOFailedRenameException(message, file, exception);
+ }
}
Modified: trunk/joafip-file/src/main/java/net/sf/joafip/file/service/FileIOFailedDeleteException.java
===================================================================
--- trunk/joafip-file/src/main/java/net/sf/joafip/file/service/FileIOFailedDeleteException.java 2012-05-21 03:59:02 UTC (rev 3087)
+++ trunk/joafip-file/src/main/java/net/sf/joafip/file/service/FileIOFailedDeleteException.java 2012-05-21 20:59:47 UTC (rev 3088)
@@ -36,19 +36,14 @@
*/
private static final long serialVersionUID = 8346085455660939859L;
- public FileIOFailedDeleteException(final String message, final File file,
- final Exception exception) {
- super(message, exception);
- this.file = file;
+ protected FileIOFailedDeleteException(final String message,
+ final File file, final Exception exception) {
+ super(message, file, exception);
}
- public FileIOFailedDeleteException() {
- super();
- }
-
@Override
- public FileIOException create(final String message, final File file,
- final Exception exception) {
+ protected FileIOException newInstance(final String message,
+ final File file, final Exception exception) {
return new FileIOFailedDeleteException(message, file, exception);
}
Modified: trunk/joafip-file/src/main/java/net/sf/joafip/file/service/FileIOFailedRenameException.java
===================================================================
--- trunk/joafip-file/src/main/java/net/sf/joafip/file/service/FileIOFailedRenameException.java 2012-05-21 03:59:02 UTC (rev 3087)
+++ trunk/joafip-file/src/main/java/net/sf/joafip/file/service/FileIOFailedRenameException.java 2012-05-21 20:59:47 UTC (rev 3088)
@@ -36,19 +36,14 @@
*/
private static final long serialVersionUID = 6556324126404336196L;
- public FileIOFailedRenameException(final String message, final File file,
- final Exception exception) {
- super(message, exception);
- this.file = file;
+ protected FileIOFailedRenameException(final String message,
+ final File file, final Exception exception) {
+ super(message, file, exception);
}
- public FileIOFailedRenameException() {
- super();
- }
-
@Override
- public FileIOException create(final String message, final File file,
- final Exception exception) {
+ protected FileIOException newInstance(final String message,
+ final File file, final Exception exception) {
return new FileIOFailedDeleteException(message, file, exception);
}
}
Modified: trunk/joafip-file/src/main/java/net/sf/joafip/file/service/FileIONotFoundException.java
===================================================================
--- trunk/joafip-file/src/main/java/net/sf/joafip/file/service/FileIONotFoundException.java 2012-05-21 03:59:02 UTC (rev 3087)
+++ trunk/joafip-file/src/main/java/net/sf/joafip/file/service/FileIONotFoundException.java 2012-05-21 20:59:47 UTC (rev 3088)
@@ -36,15 +36,14 @@
*/
private static final long serialVersionUID = 1708501063878637840L;
- public FileIONotFoundException(final String message, final File file,
+ protected FileIONotFoundException(final String message, final File file,
final Exception exception) {
- super(message, exception);
- this.file = file;
+ super(message, file, exception);
}
@Override
- public FileIOException create(final String message, final File file,
- final Exception exception) {
+ protected FileIOException newInstance(final String message,
+ final File file, final Exception exception) {
return new FileIONotFoundException(message, file, exception);
}
Modified: trunk/joafip-file/src/main/java/net/sf/joafip/file/service/HelperFileUtil.java
===================================================================
--- trunk/joafip-file/src/main/java/net/sf/joafip/file/service/HelperFileUtil.java 2012-05-21 03:59:02 UTC (rev 3087)
+++ trunk/joafip-file/src/main/java/net/sf/joafip/file/service/HelperFileUtil.java 2012-05-21 20:59:47 UTC (rev 3088)
@@ -80,7 +80,7 @@
final String message = COPY_FILE_FAILED + sourceFile + " -> "
+ destinationFile;
LOGGER.fatal(message);
- throw fileIOException(message, sourceFile, exception);
+ throw FileIOException.create(message, sourceFile, exception);
}
final FileChannel destinationChannel;
try {
@@ -90,7 +90,7 @@
final String message = COPY_FILE_FAILED + sourceFile + " -> "
+ destinationFile;
LOGGER.fatal(message);
- throw fileIOException(message, destinationFile, exception);
+ throw FileIOException.create(message, destinationFile, exception);
}
try {
destinationChannel.transferFrom(sourceChannel, 0,
@@ -99,7 +99,7 @@
final String message = COPY_FILE_FAILED + sourceFile + " -> "
+ destinationFile;
LOGGER.fatal(message);
- throw fileIOException(message, null, exception);
+ throw FileIOException.create(message, null, exception);
} finally {
if (sourceChannel != null) {
try {
@@ -138,7 +138,8 @@
+ tryCount + TRY_ON
+ (System.currentTimeMillis() - startTime) + M_S;
LOGGER.fatal(failureMessage);
- throw fileIOException(failureMessage, file, exception);
+ throw FileIOException.create(failureMessage, file,
+ exception);
} else {
LOGGER.error(message);
try {
@@ -146,8 +147,11 @@
} catch (InterruptedException exception2) {
LOGGER.error(WAITING_FOR_RETRY_INTERRUPTED
+ FAILED_TOUCH_FILE + file, exception2);
- throw fileIOException(WAITING_FOR_RETRY_INTERRUPTED// NOPMD
- + FAILED_TOUCH_FILE + file, file, exception);
+ throw // NOPMD
+ /**/FileIOException.create(
+ WAITING_FOR_RETRY_INTERRUPTED// NOPMD
+ + FAILED_TOUCH_FILE + file, file,
+ exception);
}
}
}
@@ -171,7 +175,9 @@
+ M_S);
}
} else {
- throw new FileIOFailedDeleteException();
+ throw FileIOException.createFailedDelete(
+ "failed delete try #" + (tryCount + 1), file,
+ null);
}
} catch (Exception exception) {
final String message = FAILED_DELETE_FILE + file;
@@ -181,7 +187,8 @@
+ (System.currentTimeMillis() - startTime)
+ M_S;
LOGGER.fatal(failureMessage, new Exception());// NOPMD
- throw fileIOException(failureMessage, file, exception);
+ throw FileIOException.create(failureMessage, file,
+ exception);
} else {
LOGGER.error(message);
try {
@@ -189,8 +196,10 @@
} catch (InterruptedException exception2) {
LOGGER.error(WAITING_FOR_RETRY_INTERRUPTED
+ FAILED_DELETE_FILE + file, exception2);
- throw fileIOException(WAITING_FOR_RETRY_INTERRUPTED// NOPMD
- + FAILED_DELETE_FILE + file, file,
+ throw // NOPMD
+ /**/FileIOException.createFailedDelete(
+ WAITING_FOR_RETRY_INTERRUPTED
+ + FAILED_DELETE_FILE + file, file,
exception);
}
}
@@ -222,7 +231,9 @@
+ M_S);
}
} else {
- throw new FileIOFailedRenameException();
+ throw FileIOException.createFailedRename(
+ "failed rename try #" + (tryCount + 1), file,
+ null);
}
} catch (Exception exception) {
final String message = FAILED_DELETE_RENAMING_FILE + file;
@@ -232,7 +243,8 @@
+ (System.currentTimeMillis() - startTime)
+ M_S;
LOGGER.fatal(failureMessage);
- throw fileIOException(failureMessage, file, exception);
+ throw FileIOException.create(failureMessage, file,
+ exception);
} else {
LOGGER.error(message);
try {
@@ -241,9 +253,11 @@
LOGGER.error(WAITING_FOR_RETRY_INTERRUPTED
+ FAILED_DELETE_RENAMING_FILE + file,
exception2);
- throw fileIOException(WAITING_FOR_RETRY_INTERRUPTED// NOPMD
- + FAILED_DELETE_RENAMING_FILE + file, file,
- exception);
+ throw // NOPMD
+ /**/FileIOException.create(
+ WAITING_FOR_RETRY_INTERRUPTED// NOPMD
+ + FAILED_DELETE_RENAMING_FILE
+ + file, file, exception);
}
}
}
@@ -276,7 +290,7 @@
} catch (FileNotFoundException exception) {
final String message = FAILED_CHECK_FILE_DIFFERENCE + file1 + COMMA
+ file2;
- throw fileIOException(message, file1, exception);
+ throw FileIOException.create(message, file1, exception);
}
final FileInputStream fis2;
try {
@@ -284,7 +298,7 @@
} catch (FileNotFoundException exception) {
final String message = FAILED_CHECK_FILE_DIFFERENCE + file1 + COMMA
+ file2;
- throw fileIOException(message, file2, exception);
+ throw FileIOException.create(message, file2, exception);
}
int value1;
@@ -295,30 +309,32 @@
try {
value1 = fis1.read();
} catch (IOException exception) {
- throw fileIOException(FAILED_CHECK_FILE_DIFFERENCE + file1
- + COMMA + file2 + ": read " + file1 + FAILED, file1,
- exception);
+ throw FileIOException.create(FAILED_CHECK_FILE_DIFFERENCE
+ + file1 + COMMA + file2 + ": read " + file1 + FAILED,
+ file1, exception);
}
try {
value2 = fis2.read();
} catch (IOException exception) {
- throw fileIOException(FAILED_CHECK_FILE_DIFFERENCE + file1
- + COMMA + file2 + ": read " + file2 + FAILED, file2,
- exception);
+ throw FileIOException.create(FAILED_CHECK_FILE_DIFFERENCE
+ + file1 + COMMA + file2 + ": read " + file2 + FAILED,
+ file2, exception);
}
diff = value1 != value2;
} while (!diff && value1 != -1 && value2 != -1);
try {
fis1.close();
} catch (IOException exception) {
- throw fileIOException(FAILED_CHECK_FILE_DIFFERENCE + file1 + COMMA
- + file2 + ": close " + file1 + FAILED, file1, exception);
+ throw FileIOException.create(FAILED_CHECK_FILE_DIFFERENCE + file1
+ + COMMA + file2 + ": close " + file1 + FAILED, file1,
+ exception);
}
try {
fis2.close();
} catch (IOException exception) {
- throw fileIOException(FAILED_CHECK_FILE_DIFFERENCE + file1 + COMMA
- + file2 + ": close " + file2 + FAILED, file2, exception);
+ throw FileIOException.create(FAILED_CHECK_FILE_DIFFERENCE + file1
+ + COMMA + file2 + ": close " + file2 + FAILED, file2,
+ exception);
}
if (diff) {
LOGGER.warn("difference at position: " + index + " values: "
@@ -326,22 +342,4 @@
}
return diff;
}
-
- public FileIOException fileIOException(final String message,
- final File file, final Exception exception) {
- final FileIOException fileIOException;
- if (exception instanceof FileNotFoundException) {
- fileIOException = new FileIONotFoundException(message, file,
- exception);
- } else if (exception instanceof SecurityException) {
- fileIOException = new FileIOAccessDenyException(message, file,
- exception);
- } else if (exception instanceof FileIOException) {
- fileIOException = ((FileIOException) exception).create(message,
- file, exception);
- } else {
- fileIOException = new FileIOErrorException(message, file, exception);
- }
- return fileIOException;
- }
}
Modified: trunk/joafip-file/src/main/java/net/sf/joafip/file/service/RandomAccessFileDirect.java
===================================================================
--- trunk/joafip-file/src/main/java/net/sf/joafip/file/service/RandomAccessFileDirect.java 2012-05-21 03:59:02 UTC (rev 3087)
+++ trunk/joafip-file/src/main/java/net/sf/joafip/file/service/RandomAccessFileDirect.java 2012-05-21 20:59:47 UTC (rev 3088)
@@ -102,8 +102,8 @@
try {
read = randomAccessFile.read(data);
} catch (IOException exception) {
- throw HELPER_FILE_UTIL.fileIOException("failed read " + getFile(),
- getFile(), exception);
+ throw FileIOException.create("failed read " + getFile(), getFile(),
+ exception);
}
if (read > 0) {
currentPositionInFile += read;
@@ -118,8 +118,8 @@
try {
read = randomAccessFile.read(data, offset, length);
} catch (IOException exception) {
- throw HELPER_FILE_UTIL.fileIOException("failed read " + getFile(),
- getFile(), exception);
+ throw FileIOException.create("failed read " + getFile(), getFile(),
+ exception);
}
if (read > 0) {
currentPositionInFile += read;
@@ -133,8 +133,8 @@
try {
randomAccessFile.seek(positionInFile);
} catch (IOException exception) {
- throw HELPER_FILE_UTIL.fileIOException("failed seek in "
- + getFile(), getFile(), exception);
+ throw FileIOException.create("failed seek in " + getFile(),
+ getFile(), exception);
}
currentPositionInFile = positionInFile;
}
@@ -150,8 +150,8 @@
try {
randomAccessFile.setLength(newSize);
} catch (IOException exception) {
- throw HELPER_FILE_UTIL.fileIOException("failed set length of "
- + getFile(), getFile(), exception);
+ throw FileIOException.create("failed set length of " + getFile(),
+ getFile(), exception);
}
}
@@ -160,8 +160,8 @@
try {
randomAccessFile.write(data);
} catch (IOException exception) {
- throw HELPER_FILE_UTIL.fileIOException("failed write in "
- + getFile(), getFile(), exception);
+ throw FileIOException.create("failed write in " + getFile(),
+ getFile(), exception);
}
currentPositionInFile += data.length;
}
@@ -172,8 +172,8 @@
try {
randomAccessFile.write(data, 0, length);
} catch (IOException exception) {
- throw HELPER_FILE_UTIL.fileIOException("failed write in "
- + getFile(), getFile(), exception);
+ throw FileIOException.create("failed write in " + getFile(),
+ getFile(), exception);
}
currentPositionInFile += length;
}
@@ -184,8 +184,8 @@
try {
randomAccessFile.write(data, offset, length);
} catch (IOException exception) {
- throw HELPER_FILE_UTIL.fileIOException("failed write in "
- + getFile(), getFile(), exception);
+ throw FileIOException.create("failed write in " + getFile(),
+ getFile(), exception);
}
currentPositionInFile += length;
}
@@ -201,16 +201,16 @@
try {
fis = new FileInputStream(getFile());
} catch (FileNotFoundException exception) {
- throw HELPER_FILE_UTIL.fileIOException(FAILED_OPEN + getFile(),
- getFile(), exception);
+ throw FileIOException.create(FAILED_OPEN + getFile(), getFile(),
+ exception);
}
final File destinationFile = new File(fileName);
final FileOutputStream fos;
try {
fos = new FileOutputStream(destinationFile);
} catch (FileNotFoundException exception) {
- throw HELPER_FILE_UTIL.fileIOException(FAILED_OPEN
- + destinationFile, destinationFile, exception);
+ throw FileIOException.create(FAILED_OPEN + destinationFile,
+ destinationFile, exception);
}
try {
final byte[] buf = new byte[1024];
@@ -219,8 +219,8 @@
fos.write(buf, 0, readLength);
}
} catch (IOException exception) {
- throw HELPER_FILE_UTIL.fileIOException("failed copy from "
- + getFile() + " to " + destinationFile, null, exception);
+ throw FileIOException.create("failed copy from " + getFile()
+ + " to " + destinationFile, null, exception);
} finally {
try {
if (fis != null) {
Modified: trunk/joafip-file/src/main/java/net/sf/joafip/file/service/RandomAccessFileDirectMapped.java
===================================================================
--- trunk/joafip-file/src/main/java/net/sf/joafip/file/service/RandomAccessFileDirectMapped.java 2012-05-21 03:59:02 UTC (rev 3087)
+++ trunk/joafip-file/src/main/java/net/sf/joafip/file/service/RandomAccessFileDirectMapped.java 2012-05-21 20:59:47 UTC (rev 3088)
@@ -140,8 +140,8 @@
unMapIfMapped(ceilFileSize);
randomAccessFile.setLength(ceilFileSize);
} catch (IOException exception) {
- throw HELPER_FILE_UTIL.fileIOException("failed set length of "
- + getFile(), getFile(), exception);
+ throw FileIOException.create("failed set length of " + getFile(),
+ getFile(), exception);
}
}
Modified: trunk/joafip-file/src/main/java/net/sf/joafip/file/service/RandomAccessFileDirectNio.java
===================================================================
--- trunk/joafip-file/src/main/java/net/sf/joafip/file/service/RandomAccessFileDirectNio.java 2012-05-21 03:59:02 UTC (rev 3087)
+++ trunk/joafip-file/src/main/java/net/sf/joafip/file/service/RandomAccessFileDirectNio.java 2012-05-21 20:59:47 UTC (rev 3088)
@@ -82,8 +82,7 @@
try {
exRandomAccessFile.force(true);
} catch (IOException exception) {
- throw HELPER_FILE_UTIL.fileIOException("failed flush ", getFile(),
- exception);
+ throw FileIOException.create("failed flush ", getFile(), exception);
}
}
@@ -112,8 +111,8 @@
}
return read;
} catch (IOException exception) {
- throw HELPER_FILE_UTIL.fileIOException("failed read in "
- + getFile(), getFile(), exception);
+ throw FileIOException.create("failed read in " + getFile(),
+ getFile(), exception);
}
}
@@ -128,8 +127,8 @@
}
return read;
} catch (IOException exception) {
- throw HELPER_FILE_UTIL.fileIOException("failed read in "
- + getFile(), getFile(), exception);
+ throw FileIOException.create("failed read in " + getFile(),
+ getFile(), exception);
}
}
@@ -141,8 +140,8 @@
currentPositionInFile = positionInFile;
}
} catch (IOException exception) {
- throw HELPER_FILE_UTIL.fileIOException("failed seek in "
- + getFile(), getFile(), exception);
+ throw FileIOException.create("failed seek in " + getFile(),
+ getFile(), exception);
}
}
@@ -156,8 +155,8 @@
try {
randomAccessFile.setLength(newSize);
} catch (IOException exception) {
- throw HELPER_FILE_UTIL.fileIOException("failed set length of "
- + getFile(), getFile(), exception);
+ throw FileIOException.create("failed set length of " + getFile(),
+ getFile(), exception);
}
}
@@ -166,14 +165,13 @@
try {
final ByteBuffer byteBuffer = ByteBuffer.wrap(data);
if (fileChannel.write(byteBuffer) != data.length) {
- throw HELPER_FILE_UTIL.fileIOException("failed write "
- + data.length + " bytes in " + getFile(), getFile(),
- null);
+ throw FileIOException.create("failed write " + data.length
+ + " bytes in " + getFile(), getFile(), null);
}
currentPositionInFile += data.length;
} catch (IOException exception) {
- throw HELPER_FILE_UTIL.fileIOException("failed write in "
- + getFile(), getFile(), exception);
+ throw FileIOException.create("failed write in " + getFile(),
+ getFile(), exception);
}
}
@@ -183,13 +181,13 @@
try {
final ByteBuffer byteBuffer = ByteBuffer.wrap(data, 0, length);
if (fileChannel.write(byteBuffer) != length) {
- throw HELPER_FILE_UTIL.fileIOException("failed write " + length
+ throw FileIOException.create("failed write " + length
+ " bytes in " + getFile(), getFile(), null);
}
currentPositionInFile += length;
} catch (IOException exception) {
- throw HELPER_FILE_UTIL.fileIOException("failed write in "
- + getFile(), getFile(), exception);
+ throw FileIOException.create("failed write in " + getFile(),
+ getFile(), exception);
}
}
@@ -199,13 +197,13 @@
try {
final ByteBuffer byteBuffer = ByteBuffer.wrap(data, offset, length);
if (fileChannel.write(byteBuffer) != length) {
- throw HELPER_FILE_UTIL.fileIOException("failed write " + length
+ throw FileIOException.create("failed write " + length
+ " bytes in " + getFile(), getFile(), null);
}
currentPositionInFile += length;
} catch (IOException exception) {
- throw HELPER_FILE_UTIL.fileIOException("failed write in "
- + getFile(), getFile(), exception);
+ throw FileIOException.create("failed write in " + getFile(),
+ getFile(), exception);
}
}
@@ -246,8 +244,8 @@
fileChannel.close();
}
} catch (IOException exception) {
- throw HELPER_FILE_UTIL.fileIOException("failed copy " + getFile()
- + " to " + destinationFilePath, null, exception);
+ throw FileIOException.create("failed copy " + getFile() + " to "
+ + destinationFilePath, null, exception);
}
}
@@ -261,7 +259,7 @@
fileChannel = new FileInputStream(getFile()).getChannel();
}
} catch (IOException exception) {
- throw HELPER_FILE_UTIL.fileIOException("failed differ " + getFile()
+ throw FileIOException.create("failed differ " + getFile()
+ " with " + fileName, getFile(), exception);
}
@@ -298,7 +296,7 @@
}
} catch (IOException exception) {
- throw HELPER_FILE_UTIL.fileIOException("failed differ " + getFile()
+ throw FileIOException.create("failed differ " + getFile()
+ " with " + fileName, getFile(), exception);
} finally {
try {
@@ -318,7 +316,7 @@
fileChannel.close();
}
} catch (IOException exception) {
- throw HELPER_FILE_UTIL.fileIOException("failed differ " + getFile()
+ throw FileIOException.create("failed differ " + getFile()
+ " with " + fileName, getFile(), exception);
}
Modified: trunk/joafip-file/src/main/java/net/sf/joafip/file/service/RandomAccessFileReadWriteCache.java
===================================================================
--- trunk/joafip-file/src/main/java/net/sf/joafip/file/service/RandomAccessFileReadWriteCache.java 2012-05-21 03:59:02 UTC (rev 3087)
+++ trunk/joafip-file/src/main/java/net/sf/joafip/file/service/RandomAccessFileReadWriteCache.java 2012-05-21 20:59:47 UTC (rev 3088)
@@ -414,7 +414,7 @@
final PageNode pageNode = cacheMap.remove(removedPosition);
if (pageNode == null) {
final File file = randomAccessFileDelegate.getFile();
- throw HELPER_FILE_UTIL.fileIOException("page " + removedPosition
+ throw FileIOException.create("page " + removedPosition
+ " must be in cache for " + file, file, null);
} else {
assert pageNode == usedPageFirstNode;// NOPMD
Modified: trunk/joafip-file/src/test/java/net/sf/joafip/file/service/ParallelRandomAccessFileForTest.java
===================================================================
--- trunk/joafip-file/src/test/java/net/sf/joafip/file/service/ParallelRandomAccessFileForTest.java 2012-05-21 03:59:02 UTC (rev 3087)
+++ trunk/joafip-file/src/test/java/net/sf/joafip/file/service/ParallelRandomAccessFileForTest.java 2012-05-21 20:59:47 UTC (rev 3088)
@@ -94,9 +94,8 @@
final long length2 = randomFileDirectNio.length();
final long length3 = randomFileReadWriteCache.length();
if (length1 != length2 || length2 != length3 || length1 != length3) {
- throw HelperFileUtil.getInstance().fileIOException(
- "length error " + length1 + "," + length2 + "," + length3,
- null, null);
+ throw FileIOException.create("length error " + length1 + ","
+ + length2 + "," + length3, null, null);
}
return 0;
}
@@ -111,21 +110,20 @@
final int readLength3 = randomFileReadWriteCache.read(data3);
if (readLength1 != readLength2 || readLength1 != readLength3
|| readLength2 != readLength3) {
- throw HelperFileUtil.getInstance().fileIOException(
- "read error " + readLength1 + "," + readLength2 + ","
- + readLength3, null, null);
+ throw FileIOException.create("read error " + readLength1 + ","
+ + readLength2 + "," + readLength3, null, null);
}
if (!Arrays.equals(data1, data2)) {
- throw HelperFileUtil.getInstance().fileIOException(
- "difference between data1 and data2", null, null);
+ throw FileIOException.create("difference between data1 and data2",
+ null, null);
}
if (!Arrays.equals(data1, data3)) {
- throw HelperFileUtil.getInstance().fileIOException(
- "difference between data1 and data3", null, null);
+ throw FileIOException.create("difference between data1 and data3",
+ null, null);
}
if (!Arrays.equals(data2, data3)) {
- throw HelperFileUtil.getInstance().fileIOException(
- "difference between data2 and data3", null, null);
+ throw FileIOException.create("difference between data2 and data3",
+ null, null);
}
System.arraycopy(data1, 0, data, 0, readLength1);
return readLength1;
@@ -143,21 +141,20 @@
length);
if (readLength1 != readLength2 || readLength1 != readLength3
|| readLength2 != readLength3) {
- throw HelperFileUtil.getInstance().fileIOException(
- "read error " + readLength1 + "," + readLength2 + ","
- + readLength3, null, null);
+ throw FileIOException.create("read error " + readLength1 + ","
+ + readLength2 + "," + readLength3, null, null);
}
if (!Arrays.equals(data1, data2)) {
- throw HelperFileUtil.getInstance().fileIOException(
- "difference between data1 and data2", null, null);
+ throw FileIOException.create("difference between data1 and data2",
+ null, null);
}
if (!Arrays.equals(data1, data3)) {
- throw HelperFileUtil.getInstance().fileIOException(
- "difference between data1 and data3", null, null);
+ throw FileIOException.create("difference between data1 and data3",
+ null, null);
}
if (!Arrays.equals(data2, data3)) {
- throw HelperFileUtil.getInstance().fileIOException(
- "difference between data2 and data3", null, null);
+ throw FileIOException.create("difference between data2 and data3",
+ null, null);
}
System.arraycopy(data1, offset, data, offset, readLength1);
return readLength1;
@@ -177,8 +174,7 @@
final long position3 = randomFileReadWriteCache.currentPositionInFile();
if (position1 != position2 || position1 != position3
|| position2 != position3) {
- throw HelperFileUtil.getInstance().fileIOException(
- "position mismath", null, null);
+ throw FileIOException.create("position mismath", null, null);
}
return position1;
}
@@ -219,10 +215,8 @@
final boolean close2 = randomFileDirectNio.isClose();
final boolean close3 = randomFileReadWriteCache.isClose();
if (close1 != close2 || close1 != close3 || close2 != close3) {
- throw HelperFileUtil.getInstance()
- .fileIOException(
- "close state error " + close1 + "," + close2 + ","
- + close3, null, null);
+ throw FileIOException.create("close state error " + close1 + ","
+ + close2 + "," + close3, null, null);
}
return close1;
}
@@ -233,9 +227,8 @@
final boolean open2 = randomFileDirectNio.isOpen();
final boolean open3 = randomFileReadWriteCache.isOpen();
if (open1 != open2 || open1 != open3 || open2 != open3) {
- throw HelperFileUtil.getInstance().fileIOException(
- "close state error " + open1 + "," + open2 + "," + open3,
- null, null);
+ throw FileIOException.create("close state error " + open1 + ","
+ + open2 + "," + open3, null, null);
}
return open1;
}
Modified: trunk/joafip-kvstore/src/test/java/net/sf/joafip/kvstore/record/service/mock/MockFileForStorable.java
===================================================================
--- trunk/joafip-kvstore/src/test/java/net/sf/joafip/kvstore/record/service/mock/MockFileForStorable.java 2012-05-21 03:59:02 UTC (rev 3087)
+++ trunk/joafip-kvstore/src/test/java/net/sf/joafip/kvstore/record/service/mock/MockFileForStorable.java 2012-05-21 20:59:47 UTC (rev 3088)
@@ -26,7 +26,6 @@
import java.io.File;
import net.sf.joafip.NotStorableClass;
-import net.sf.joafip.file.service.FileIOErrorException;
import net.sf.joafip.file.service.FileIOException;
import net.sf.joafip.kvstore.entity.ToBackupRecord;
import net.sf.joafip.kvstore.service.FileForStorable;
@@ -169,7 +168,7 @@
@Override
public void copy(final String fileName) throws FileIOException {
- throw new FileIOErrorException("unsupported", new File("MOCK"), null);
+ throw FileIOException.create("unsupported", new File("MOCK"), null);
}
@Override
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <luc...@us...> - 2012-05-21 20:59:53
|
Revision: 3088
http://joafip.svn.sourceforge.net/joafip/?rev=3088&view=rev
Author: luc_peuvrier
Date: 2012-05-21 20:59:47 +0000 (Mon, 21 May 2012)
Log Message:
-----------
file io exception refactoring
Modified Paths:
--------------
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/AbstractRandomAccessFile.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/ExRandomAccessFile.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/FileIOAccessDenyException.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/FileIOErrorException.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/FileIOException.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/FileIOFailedDeleteException.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/FileIOFailedRenameException.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/FileIONotFoundException.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/HelperFileUtil.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/RandomAccessFileDirect.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/RandomAccessFileDirectMapped.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/RandomAccessFileDirectNio.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/RandomAccessFileReadWriteCache.java
trunk/joafip-file/src/test/java/net/sf/joafip/file/service/ParallelRandomAccessFileForTest.java
trunk/joafip-kvstore/src/test/java/net/sf/joafip/kvstore/record/service/mock/MockFileForStorable.java
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <luc...@us...> - 2012-05-21 03:59:10
|
Revision: 3087
http://joafip.svn.sourceforge.net/joafip/?rev=3087&view=rev
Author: luc_peuvrier
Date: 2012-05-21 03:59:02 +0000 (Mon, 21 May 2012)
Log Message:
-----------
random access file management refactoring
Modified Paths:
--------------
trunk/joafip-4test/src/main/java/net/sf/joafip/performance/items/service/AbstractPerfService.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/AbstractRandomAccessFile.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/RandomAccessFileDirect.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/RandomAccessFileDirectMapped.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/RandomAccessFileDirectNio.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/RandomAccessFileReadWriteCache.java
trunk/joafip-file/src/test/java/net/sf/joafip/file/service/AbstractRandomFileTest.java
trunk/joafip-file/src/test/java/net/sf/joafip/file/service/RandomAccessFileReadWriteCacheTest.java
trunk/joafip-file/src/test/java/net/sf/joafip/file/service/RandomFileCacheTest.java
trunk/joafip-kvstore/src/main/java/net/sf/joafip/kvstore/service/FileForStorable.java
trunk/joafip-testsuite/src/main/java/net/sf/joafip/InErrorTests.java
Added Paths:
-----------
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/ExRandomAccessFile.java
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 2012-05-21 01:43:10 UTC (rev 3086)
+++ trunk/joafip-4test/src/main/java/net/sf/joafip/performance/items/service/AbstractPerfService.java 2012-05-21 03:59:02 UTC (rev 3087)
@@ -46,7 +46,7 @@
protected final JoafipLogger logger = JoafipLogger.getLogger(getClass());// NOPMD
- protected static final String RUNTIME_DIR = "runtime_perf";
+ protected static final String RUNTIME_DIR = "runtime_perf"; // "z:\\";//
public static final File DURATION_BIN = new File(RUNTIME_DIR
+ "/duration.bin");
Modified: trunk/joafip-file/src/main/java/net/sf/joafip/file/service/AbstractRandomAccessFile.java
===================================================================
--- trunk/joafip-file/src/main/java/net/sf/joafip/file/service/AbstractRandomAccessFile.java 2012-05-21 01:43:10 UTC (rev 3086)
+++ trunk/joafip-file/src/main/java/net/sf/joafip/file/service/AbstractRandomAccessFile.java 2012-05-21 03:59:02 UTC (rev 3087)
@@ -44,16 +44,6 @@
/** the last closer trace */
private Exception closerTrace;
- protected final int maxRetry;
-
- protected final int retryMsDelay;
-
- public AbstractRandomAccessFile(final int maxRetry, final int retryMsDelay) {
- super();
- this.maxRetry = maxRetry;
- this.retryMsDelay = retryMsDelay;
- }
-
@Override
public void open() throws FileIOException {
checkNotOpened();
Added: trunk/joafip-file/src/main/java/net/sf/joafip/file/service/ExRandomAccessFile.java
===================================================================
--- trunk/joafip-file/src/main/java/net/sf/joafip/file/service/ExRandomAccessFile.java (rev 0)
+++ trunk/joafip-file/src/main/java/net/sf/joafip/file/service/ExRandomAccessFile.java 2012-05-21 03:59:02 UTC (rev 3087)
@@ -0,0 +1,241 @@
+/*
+ * Copyright 2012 Luc Peuvrier
+ * All rights reserved.
+ *
+ * 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.file.service;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.RandomAccessFile;
+import java.nio.channels.FileChannel;
+import java.nio.channels.FileLock;
+
+import net.sf.joafip.NotStorableClass;
+import net.sf.joafip.logger.JoafipLogger;
+
+/**
+ *
+ * @author luc peuvrier
+ *
+ */
+@NotStorableClass
+public class ExRandomAccessFile {
+
+ private final static JoafipLogger LOGGER = JoafipLogger
+ .getLogger(ExRandomAccessFile.class);
+
+ private final static HelperFileUtil HELPER_FILE_UTIL = HelperFileUtil
+ .getInstance();
+
+ private static final String WAIT_INTERRUPTED = "wait interrupted. ";
+
+ private static final String M_S = " mS";
+
+ /** read write mode for random file access */
+ private static final String MODE_RWS = "rws";
+
+ /** the file used for random access */
+ private final File file; // NOPMD
+
+ protected final int maxRetry;
+
+ protected final int retryMsDelay;
+
+ /** for random read write file access */
+ private RandomAccessFile randomAccessFile; // NOPMD
+
+ private FileLock fileLock; // NOPMD
+
+ /** the file channel associated with the random read write file */
+ protected FileChannel fileChannel;
+
+ public ExRandomAccessFile(final File file, final int maxRetry,
+ final int retryMsDelay) {
+ super();
+ this.file = file;
+ this.maxRetry = maxRetry;
+ this.retryMsDelay = retryMsDelay;
+ }
+
+ public void open() throws FileIOException {
+ int tryCount = 0;
+ boolean done = false;
+ long startTime = System.currentTimeMillis();
+ while (!done) {
+ final String message = "failed open " + file;
+ try {
+ randomAccessFile = new RandomAccessFile(file, MODE_RWS);// NOPMD
+ done = true;
+ if (tryCount != 0) {
+ LOGGER.warn("succeed open after " + tryCount + " try and "
+ + (System.currentTimeMillis() - startTime) + M_S);
+ }
+ } catch (Exception exception) {
+ if (++tryCount >= maxRetry) {
+ final String failureMessage = message + " try " + tryCount
+ + " time, on "
+ + (System.currentTimeMillis() - startTime) + M_S;
+ LOGGER.fatal(failureMessage);
+ throw HELPER_FILE_UTIL.fileIOException(failureMessage,
+ file, exception);
+ }
+ LOGGER.error("failed open " + file);
+ try {
+ Thread.sleep(retryMsDelay);
+ } catch (InterruptedException exception2) {
+ LOGGER.error(message);
+ throw HELPER_FILE_UTIL.fileIOException(WAIT_INTERRUPTED// NOPMD
+ + message, file, exception);
+ }
+ }
+ }
+
+ tryCount = 0;
+ done = false;
+ startTime = System.currentTimeMillis();
+ while (!done) {
+ try {
+ fileLock = randomAccessFile.getChannel().tryLock();
+ // fileLock = randomAccessFile.getChannel().lock();
+ if (fileLock == null) {
+ throw new IOException("no lock");
+ } else {
+ done = true;
+ if (tryCount != 0) {
+ LOGGER.warn("succeed look after " + tryCount
+ + " try and "
+ + (System.currentTimeMillis() - startTime)
+ + M_S);
+ }
+ }
+ } catch (Exception exception) {
+ final String message = "failed lock " + file;
+ if (++tryCount >= maxRetry) {
+ try {
+ randomAccessFile.close();
+ } catch (Exception exception2) {
+ LOGGER.warn("while closing after acquire lock failure",
+ exception2);
+ }
+ final String failureMessage = message + " try " + tryCount
+ + " time, on "
+ + (System.currentTimeMillis() - startTime) + M_S;
+ LOGGER.fatal(failureMessage, exception);
+ randomAccessFile = null;// NOPMD object no more usable
+ throw HELPER_FILE_UTIL.fileIOException(failureMessage,
+ file, exception);
+ }
+ LOGGER.error(message, exception);
+ try {
+ Thread.sleep(retryMsDelay);
+ } catch (InterruptedException exception2) {
+ LOGGER.error(message, exception2);
+ throw HELPER_FILE_UTIL.fileIOException(WAIT_INTERRUPTED// NOPMD
+ + message, file, exception);
+ }
+ }
+ }
+ fileChannel = randomAccessFile.getChannel();
+ }
+
+ public void close() throws FileIOException {
+ try {
+ if (fileLock != null) {
+ fileLock.release();
+ fileLock = null; // NOPMD release object
+ }
+ fileChannel.close();
+ fileChannel = null; // NOPMD release object
+ randomAccessFile.close();
+ randomAccessFile = null;// NOPMD object no more usable
+ } catch (Exception exception) {
+ throw HELPER_FILE_UTIL.fileIOException("failed close " + file,
+ file, exception);
+ }
+ }
+
+ public void force(final boolean metaData) throws IOException,
+ FileIOException {
+ try {
+ fileChannel.force(metaData);
+ } catch (IOException exception) {
+ throw HELPER_FILE_UTIL.fileIOException("failed force ", file,
+ exception);
+ }
+ }
+
+ public void deleteIfExists() throws FileIOException {
+ if (fileChannel != null) {
+ throw HELPER_FILE_UTIL.fileIOException("failed delete " + file
+ + " because opened", file, null);
+ }
+ HELPER_FILE_UTIL.delete(file, maxRetry, retryMsDelay);
+ Thread.yield();
+ }
+
+ public void deleteIfExistsRenaming() throws FileIOException {
+ if (fileChannel != null) {
+ throw HELPER_FILE_UTIL.fileIOException("failed delete " + file
+ + " because opened", file, null);
+ }
+ HELPER_FILE_UTIL.deleteRenaming(file, maxRetry, retryMsDelay);
+ Thread.yield();
+ }
+
+ public long randomAccessFileLength() throws FileIOException {
+ try {
+ return randomAccessFile.length();
+ } catch (IOException exception) {
+ throw HELPER_FILE_UTIL.fileIOException("failed get length of "
+ + file, file, exception);
+ }
+ }
+
+ public long fileChannelSize() throws FileIOException {
+ try {
+ return fileChannel.size();
+ } catch (IOException exception) {
+ throw HELPER_FILE_UTIL.fileIOException("failed get length of "
+ + file, file, exception);
+ }
+ }
+
+ public File getFile() {
+ return file;
+ }
+
+ public int getMaxRetry() {
+ return maxRetry;
+ }
+
+ public int getRetryMsDelay() {
+ return retryMsDelay;
+ }
+
+ public RandomAccessFile getRandomAccessFile() {
+ return randomAccessFile;
+ }
+
+ public FileChannel getFileChannel() {
+ return fileChannel;
+ }
+}
Modified: trunk/joafip-file/src/main/java/net/sf/joafip/file/service/RandomAccessFileDirect.java
===================================================================
--- trunk/joafip-file/src/main/java/net/sf/joafip/file/service/RandomAccessFileDirect.java 2012-05-21 01:43:10 UTC (rev 3086)
+++ trunk/joafip-file/src/main/java/net/sf/joafip/file/service/RandomAccessFileDirect.java 2012-05-21 03:59:02 UTC (rev 3087)
@@ -22,7 +22,6 @@
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.RandomAccessFile;
-import java.nio.channels.FileLock;
import java.util.SortedMap;
import net.sf.joafip.NotStorableClass;
@@ -38,112 +37,41 @@
private static final String FAILED_OPEN = "failed open ";
- /** read write mode for random file access */
- private static final String MODE_RWS = "rws";
+ private final ExRandomAccessFile exRandomAccessFile;
- /** the file used for random access */
- private final File file; // NOPMD
-
/** current position in file */
private long currentPositionInFile; // NOPMD
- /** for random read write file access */
- private RandomAccessFile randomAccessFile; // NOPMD
+ private RandomAccessFile randomAccessFile;
- private FileLock fileLock; // NOPMD
-
public RandomAccessFileDirect(final File file, final int maxRetry,
final int retryMsDelay) {
- super(maxRetry, retryMsDelay);
- this.file = file;
+ super();
+ this.exRandomAccessFile = new ExRandomAccessFile(file, maxRetry,
+ retryMsDelay);
}
@Override
public File getFile() {
- return file;
+ return exRandomAccessFile.getFile();
}
@Override
public void openImpl() throws FileIOException {
- int tryCount = 0;
- boolean done = false;
- while (!done) {
- try {
- randomAccessFile = new RandomAccessFile(file, MODE_RWS);// NOPMD
- done = true;
- } catch (Exception exception) {
- if (++tryCount >= maxRetry) {
- final String message = FAILED_OPEN + file;
- logger.error(message);
- throw HELPER_FILE_UTIL.fileIOException(message, file,
- exception);
- }
- logger.warn(FAILED_OPEN + file);
- try {
- Thread.sleep(retryMsDelay);
- } catch (InterruptedException exception2) {
- final String message = "wait interrupted, failed open "
- + file;
- logger.error(message);
- throw HELPER_FILE_UTIL.fileIOException(message, file,// NOPMD
- exception);
- }
- }
- }
-
- tryCount = 0;
- done = false;
- while (!done) {
- try {
- fileLock = randomAccessFile.getChannel().tryLock();
- // fileLock = randomAccessFile.getChannel().lock();
- if (fileLock == null) {
- throw new IOException("no lock");
- } else {
- done = true;
- }
- } catch (IOException exception) {
- if (++tryCount >= maxRetry) {
- try {
- randomAccessFile.close();
- } catch (Exception exception2) {
- logger.warn("while closing after acquire lock failure",
- exception2);
- }
- randomAccessFile = null;// NOPMD object no more usable
- throw HELPER_FILE_UTIL.fileIOException("file " + file
- + " failed lock", file, exception);
- }
- try {
- Thread.sleep(retryMsDelay);
- } catch (InterruptedException exception2) {
- final String message = "wait interrupted, file " + file
- + " failed lock";
- logger.error(message, exception2);
- throw HELPER_FILE_UTIL.fileIOException(message, file,// NOPMD
- exception);
- }
- }
- }
-
+ exRandomAccessFile.open();
+ randomAccessFile = exRandomAccessFile.getRandomAccessFile();
currentPositionInFile = 0;
if (logger.debugEnabled) {
- logger.debug("open " + file);
+ logger.debug("open " + getFile());
}
}
@Override
public void closeImpl() throws FileIOException {
- try {
- fileLock.release();
- randomAccessFile.close();
- randomAccessFile = null;// NOPMD object no more usable
- if (logger.debugEnabled) {
- logger.debug("close " + file);
- }
- } catch (Exception exception) {
- throw HELPER_FILE_UTIL.fileIOException("failed close " + file,
- file, exception);
+ randomAccessFile = null;// NOPMD
+ exRandomAccessFile.close();
+ if (logger.debugEnabled) {
+ logger.debug("close " + getFile());
}
}
@@ -155,24 +83,17 @@
@Override
public void deleteIfExistsImpl() throws FileIOException {
- HELPER_FILE_UTIL.delete(file, maxRetry, retryMsDelay);
- Thread.yield();
+ exRandomAccessFile.deleteIfExists();
}
@Override
public void deleteIfExistsRenamingImpl() throws FileIOException {
- HELPER_FILE_UTIL.deleteRenaming(file, maxRetry, retryMsDelay);
- Thread.yield();
+ exRandomAccessFile.deleteIfExistsRenaming();
}
@Override
public long lengthImpl() throws FileIOException {
- try {
- return randomAccessFile.length();
- } catch (IOException exception) {
- throw HELPER_FILE_UTIL.fileIOException("failed get length of "
- + file, file, exception);
- }
+ return exRandomAccessFile.randomAccessFileLength();
}
@Override
@@ -181,8 +102,8 @@
try {
read = randomAccessFile.read(data);
} catch (IOException exception) {
- throw HELPER_FILE_UTIL.fileIOException("failed read " + file, file,
- exception);
+ throw HELPER_FILE_UTIL.fileIOException("failed read " + getFile(),
+ getFile(), exception);
}
if (read > 0) {
currentPositionInFile += read;
@@ -197,8 +118,8 @@
try {
read = randomAccessFile.read(data, offset, length);
} catch (IOException exception) {
- throw HELPER_FILE_UTIL.fileIOException("failed read " + file, file,
- exception);
+ throw HELPER_FILE_UTIL.fileIOException("failed read " + getFile(),
+ getFile(), exception);
}
if (read > 0) {
currentPositionInFile += read;
@@ -212,8 +133,8 @@
try {
randomAccessFile.seek(positionInFile);
} catch (IOException exception) {
- throw HELPER_FILE_UTIL.fileIOException(
- "failed seek in " + file, file, exception);
+ throw HELPER_FILE_UTIL.fileIOException("failed seek in "
+ + getFile(), getFile(), exception);
}
currentPositionInFile = positionInFile;
}
@@ -230,7 +151,7 @@
randomAccessFile.setLength(newSize);
} catch (IOException exception) {
throw HELPER_FILE_UTIL.fileIOException("failed set length of "
- + file, file, exception);
+ + getFile(), getFile(), exception);
}
}
@@ -239,8 +160,8 @@
try {
randomAccessFile.write(data);
} catch (IOException exception) {
- throw HELPER_FILE_UTIL.fileIOException("failed write in " + file,
- file, exception);
+ throw HELPER_FILE_UTIL.fileIOException("failed write in "
+ + getFile(), getFile(), exception);
}
currentPositionInFile += data.length;
}
@@ -251,8 +172,8 @@
try {
randomAccessFile.write(data, 0, length);
} catch (IOException exception) {
- throw HELPER_FILE_UTIL.fileIOException("failed write in " + file,
- file, exception);
+ throw HELPER_FILE_UTIL.fileIOException("failed write in "
+ + getFile(), getFile(), exception);
}
currentPositionInFile += length;
}
@@ -263,8 +184,8 @@
try {
randomAccessFile.write(data, offset, length);
} catch (IOException exception) {
- throw HELPER_FILE_UTIL.fileIOException("failed write in " + file,
- file, exception);
+ throw HELPER_FILE_UTIL.fileIOException("failed write in "
+ + getFile(), getFile(), exception);
}
currentPositionInFile += length;
}
@@ -278,10 +199,10 @@
final FileInputStream fis;
try {
- fis = new FileInputStream(file);
+ fis = new FileInputStream(getFile());
} catch (FileNotFoundException exception) {
- throw HELPER_FILE_UTIL.fileIOException(FAILED_OPEN + file, file,
- exception);
+ throw HELPER_FILE_UTIL.fileIOException(FAILED_OPEN + getFile(),
+ getFile(), exception);
}
final File destinationFile = new File(fileName);
final FileOutputStream fos;
@@ -298,8 +219,8 @@
fos.write(buf, 0, readLength);
}
} catch (IOException exception) {
- throw HELPER_FILE_UTIL.fileIOException("failed copy from " + file
- + " to " + destinationFile, null, exception);
+ throw HELPER_FILE_UTIL.fileIOException("failed copy from "
+ + getFile() + " to " + destinationFile, null, exception);
} finally {
try {
if (fis != null) {
Modified: trunk/joafip-file/src/main/java/net/sf/joafip/file/service/RandomAccessFileDirectMapped.java
===================================================================
--- trunk/joafip-file/src/main/java/net/sf/joafip/file/service/RandomAccessFileDirectMapped.java 2012-05-21 01:43:10 UTC (rev 3086)
+++ trunk/joafip-file/src/main/java/net/sf/joafip/file/service/RandomAccessFileDirectMapped.java 2012-05-21 03:59:02 UTC (rev 3087)
@@ -47,12 +47,12 @@
// private static final String CLOSED = "closed #";
- private static final int MAX_MAP_BITS = 14;// 20bits: 1Mbyte.
+ private static final int MAX_MAP_BITS = 18;// 20bits: 1Mbyte.
// 14 bits: 16 kbytes
private static final int MAX_MAP_SIZE = 1 << MAX_MAP_BITS;
- private static final int MAX_NUMBER_OF_MAP = 32;
+ private static final int MAX_NUMBER_OF_MAP = 128;
private final Map<Long, ByteBufferNode> byteBufferMap =
/**/new TreeMap<Long, ByteBufferNode>();
@@ -77,7 +77,7 @@
fileContentSize = fileChannel.size();
filePhysicalSize = fileContentSize;
} catch (Exception exception) {
- throw new FileIOErrorException("opening file", file, exception);
+ throw new FileIOErrorException("opening file", getFile(), exception);
}
}
@@ -99,7 +99,7 @@
last = null;// NOPMD
fileChannel.truncate(fileContentSize);
} catch (IOException exception) {
- throw new FileIOErrorException("closing file", file, exception);
+ throw new FileIOErrorException("closing file", getFile(), exception);
} finally {
super.closeImpl();
}
@@ -141,7 +141,7 @@
randomAccessFile.setLength(ceilFileSize);
} catch (IOException exception) {
throw HELPER_FILE_UTIL.fileIOException("failed set length of "
- + file, file, exception);
+ + getFile(), getFile(), exception);
}
}
@@ -233,8 +233,8 @@
byteBuffer.position(inMapPosition);
if (byteBuffer.capacity() < toWriteInMap) {
throw new FileIOErrorException("out of capacity "
- + byteBuffer.capacity() + " for " + toWriteInMap, file,
- null);
+ + byteBuffer.capacity() + " for " + toWriteInMap,
+ getFile(), null);
}
byteBuffer.put(data, offset + wrote, toWriteInMap);
wrote += toWriteInMap;
@@ -307,7 +307,7 @@
return fileChannel.map(mode, position, size);
} catch (IOException exception) {
throw new FileIOErrorException("faild map: position=" + position
- + ", size=" + size, file, exception);
+ + ", size=" + size, getFile(), exception);
}
}
@@ -352,7 +352,7 @@
}
throw new FileIOErrorException("unmapping " + byteBuffer.toString()
+ "\nindex #" + index + "\nfile size=" + fileSize + " ("
- + filePhysicalSize + ")", file, exception);
+ + filePhysicalSize + ")", getFile(), exception);
}
}
@@ -367,7 +367,7 @@
filePhysicalSize = endPosition;
}
} catch (Exception exception) {
- throw new FileIOErrorException("writing byte buffer", file,
+ throw new FileIOErrorException("writing byte buffer", getFile(),
exception);
}
}
Modified: trunk/joafip-file/src/main/java/net/sf/joafip/file/service/RandomAccessFileDirectNio.java
===================================================================
--- trunk/joafip-file/src/main/java/net/sf/joafip/file/service/RandomAccessFileDirectNio.java 2012-05-21 01:43:10 UTC (rev 3086)
+++ trunk/joafip-file/src/main/java/net/sf/joafip/file/service/RandomAccessFileDirectNio.java 2012-05-21 03:59:02 UTC (rev 3087)
@@ -23,7 +23,6 @@
import java.io.RandomAccessFile;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;
-import java.nio.channels.FileLock;
import java.util.SortedMap;
import net.sf.joafip.NotStorableClass;
@@ -37,183 +36,70 @@
@NotStorableClass
public class RandomAccessFileDirectNio extends AbstractRandomAccessFile {
- private static final String WAIT_INTERRUPTED = "wait interrupted. ";
+ private final ExRandomAccessFile exRandomAccessFile;
- private static final String M_S = " mS";
-
- /** read write mode for random file access */
- private static final String MODE_RWS = "rws";
-
- /** the file used for random access */
- protected final File file;
-
/** current position in file */
protected long currentPositionInFile;
- /** for random read write file access */
protected RandomAccessFile randomAccessFile;
- /** the file channel associated with the random read write file */
protected FileChannel fileChannel;
- /** lock on the file */
- private FileLock fileLock;
-
public RandomAccessFileDirectNio(final File file, final int maxRetry,
final int retryMsDelay) {
- super(maxRetry, retryMsDelay);
- this.file = file;
+ super();
+ this.exRandomAccessFile = new ExRandomAccessFile(file, maxRetry,
+ retryMsDelay);
}
@Override
public File getFile() {
- return file;
+ return exRandomAccessFile.getFile();
}
@Override
public void openImpl() throws FileIOException {
- int tryCount = 0;
- boolean done = false;
- long startTime = System.currentTimeMillis();
- while (!done) {
- final String message = "failed open " + file;
- try {
- randomAccessFile = new RandomAccessFile(file, MODE_RWS);// NOPMD
- done = true;
- if (tryCount != 0) {
- logger.warn("succeed open after " + tryCount + " try and "
- + (System.currentTimeMillis() - startTime) + M_S);
- }
- } catch (Exception exception) {
- if (++tryCount >= maxRetry) {
- final String failureMessage = message + " try " + tryCount
- + " time, on "
- + (System.currentTimeMillis() - startTime) + M_S;
- logger.fatal(failureMessage);
- throw HELPER_FILE_UTIL.fileIOException(failureMessage,
- file, exception);
- }
- logger.error("failed open " + file);
- try {
- Thread.sleep(retryMsDelay);
- } catch (InterruptedException exception2) {
- logger.error(message);
- throw HELPER_FILE_UTIL.fileIOException(WAIT_INTERRUPTED// NOPMD
- + message, file, exception);
- }
- }
- }
-
- tryCount = 0;
- done = false;
- startTime = System.currentTimeMillis();
- while (!done) {
- try {
- fileLock = randomAccessFile.getChannel().tryLock();
- // fileLock = randomAccessFile.getChannel().lock();
- if (fileLock == null) {
- throw new IOException("no lock");
- } else {
- done = true;
- if (tryCount != 0) {
- logger.warn("succeed look after " + tryCount
- + " try and "
- + (System.currentTimeMillis() - startTime)
- + M_S);
- }
- }
- } catch (Exception exception) {
- final String message = "failed lock " + file;
- if (++tryCount >= maxRetry) {
- try {
- randomAccessFile.close();
- } catch (Exception exception2) {
- logger.warn("while closing after acquire lock failure",
- exception2);
- }
- final String failureMessage = message + " try " + tryCount
- + " time, on "
- + (System.currentTimeMillis() - startTime) + M_S;
- logger.fatal(failureMessage, exception);
- randomAccessFile = null;// NOPMD object no more usable
- throw HELPER_FILE_UTIL.fileIOException(failureMessage,
- file, exception);
- }
- logger.error(message, exception);
- try {
- Thread.sleep(retryMsDelay);
- } catch (InterruptedException exception2) {
- logger.error(message, exception2);
- throw HELPER_FILE_UTIL.fileIOException(WAIT_INTERRUPTED// NOPMD
- + message, file, exception);
- }
- }
- }
+ exRandomAccessFile.open();
+ randomAccessFile = exRandomAccessFile.getRandomAccessFile();
+ fileChannel = exRandomAccessFile.getFileChannel();
currentPositionInFile = 0;
if (logger.debugEnabled) {
- logger.debug("open " + file);
+ logger.debug("open " + getFile());
}
- fileChannel = randomAccessFile.getChannel();
}
@Override
public void closeImpl() throws FileIOException {
- try {
- if (fileLock != null) {
- fileLock.release();
- fileLock = null; // NOPMD release object
- }
- fileChannel.close();
- fileChannel = null; // NOPMD release object
- randomAccessFile.close();
- randomAccessFile = null;// NOPMD object no more usable
- if (logger.debugEnabled) {
- logger.debug("close " + file);
- }
- } catch (Exception exception) {
- throw HELPER_FILE_UTIL.fileIOException("failed close " + file,
- file, exception);
+ fileChannel = null; // NOPMD
+ exRandomAccessFile.close();
+ if (logger.debugEnabled) {
+ logger.debug("close " + getFile());
}
}
@Override
public void flushImpl() throws FileIOException {
try {
- fileChannel.force(true);
+ exRandomAccessFile.force(true);
} catch (IOException exception) {
- throw HELPER_FILE_UTIL.fileIOException("failed flush ", file,
+ throw HELPER_FILE_UTIL.fileIOException("failed flush ", getFile(),
exception);
}
}
@Override
public void deleteIfExistsImpl() throws FileIOException {
- if (fileChannel != null) {
- throw HELPER_FILE_UTIL.fileIOException("failed delete " + file
- + " because opened", file, null);
- }
- HELPER_FILE_UTIL.delete(file, maxRetry, retryMsDelay);
- Thread.yield();
+ exRandomAccessFile.deleteIfExists();
}
@Override
public void deleteIfExistsRenamingImpl() throws FileIOException {
- if (fileChannel != null) {
- throw HELPER_FILE_UTIL.fileIOException("failed delete " + file
- + " because opened", file, null);
- }
- HELPER_FILE_UTIL.deleteRenaming(file, maxRetry, retryMsDelay);
- Thread.yield();
+ exRandomAccessFile.deleteIfExistsRenaming();
}
@Override
public long lengthImpl() throws FileIOException {
- try {
- return fileChannel.size();
- } catch (IOException exception) {
- throw HELPER_FILE_UTIL.fileIOException("failed get length of "
- + file, file, exception);
- }
+ return exRandomAccessFile.fileChannelSize();
}
@Override
@@ -226,8 +112,8 @@
}
return read;
} catch (IOException exception) {
- throw HELPER_FILE_UTIL.fileIOException("failed read in " + file,
- file, exception);
+ throw HELPER_FILE_UTIL.fileIOException("failed read in "
+ + getFile(), getFile(), exception);
}
}
@@ -242,8 +128,8 @@
}
return read;
} catch (IOException exception) {
- throw HELPER_FILE_UTIL.fileIOException("failed read in " + file,
- file, exception);
+ throw HELPER_FILE_UTIL.fileIOException("failed read in "
+ + getFile(), getFile(), exception);
}
}
@@ -255,8 +141,8 @@
currentPositionInFile = positionInFile;
}
} catch (IOException exception) {
- throw HELPER_FILE_UTIL.fileIOException("failed seek in " + file,
- file, exception);
+ throw HELPER_FILE_UTIL.fileIOException("failed seek in "
+ + getFile(), getFile(), exception);
}
}
@@ -271,7 +157,7 @@
randomAccessFile.setLength(newSize);
} catch (IOException exception) {
throw HELPER_FILE_UTIL.fileIOException("failed set length of "
- + file, file, exception);
+ + getFile(), getFile(), exception);
}
}
@@ -281,12 +167,13 @@
final ByteBuffer byteBuffer = ByteBuffer.wrap(data);
if (fileChannel.write(byteBuffer) != data.length) {
throw HELPER_FILE_UTIL.fileIOException("failed write "
- + data.length + " bytes in " + file, file, null);
+ + data.length + " bytes in " + getFile(), getFile(),
+ null);
}
currentPositionInFile += data.length;
} catch (IOException exception) {
- throw HELPER_FILE_UTIL.fileIOException("failed write in " + file,
- file, exception);
+ throw HELPER_FILE_UTIL.fileIOException("failed write in "
+ + getFile(), getFile(), exception);
}
}
@@ -297,12 +184,12 @@
final ByteBuffer byteBuffer = ByteBuffer.wrap(data, 0, length);
if (fileChannel.write(byteBuffer) != length) {
throw HELPER_FILE_UTIL.fileIOException("failed write " + length
- + " bytes in " + file, file, null);
+ + " bytes in " + getFile(), getFile(), null);
}
currentPositionInFile += length;
} catch (IOException exception) {
- throw HELPER_FILE_UTIL.fileIOException("failed write in " + file,
- file, exception);
+ throw HELPER_FILE_UTIL.fileIOException("failed write in "
+ + getFile(), getFile(), exception);
}
}
@@ -313,12 +200,12 @@
final ByteBuffer byteBuffer = ByteBuffer.wrap(data, offset, length);
if (fileChannel.write(byteBuffer) != length) {
throw HELPER_FILE_UTIL.fileIOException("failed write " + length
- + " bytes in " + file, file, null);
+ + " bytes in " + getFile(), getFile(), null);
}
currentPositionInFile += length;
} catch (IOException exception) {
- throw HELPER_FILE_UTIL.fileIOException("failed write in " + file,
- file, exception);
+ throw HELPER_FILE_UTIL.fileIOException("failed write in "
+ + getFile(), getFile(), exception);
}
}
@@ -330,7 +217,7 @@
fileChannel.position(0);
count = lengthImpl();
} else {
- fileChannel = new FileInputStream(file).getChannel();
+ fileChannel = new FileInputStream(getFile()).getChannel();
count = fileChannel.size();
}
@@ -359,7 +246,7 @@
fileChannel.close();
}
} catch (IOException exception) {
- throw HELPER_FILE_UTIL.fileIOException("failed copy " + file
+ throw HELPER_FILE_UTIL.fileIOException("failed copy " + getFile()
+ " to " + destinationFilePath, null, exception);
}
}
@@ -371,11 +258,11 @@
if (opened) {
fileChannel.position(0);
} else {
- fileChannel = new FileInputStream(file).getChannel();
+ fileChannel = new FileInputStream(getFile()).getChannel();
}
} catch (IOException exception) {
- throw HELPER_FILE_UTIL.fileIOException("failed differ " + file
- + " with " + fileName, file, exception);
+ throw HELPER_FILE_UTIL.fileIOException("failed differ " + getFile()
+ + " with " + fileName, getFile(), exception);
}
boolean differs;
@@ -411,8 +298,8 @@
}
} catch (IOException exception) {
- throw HELPER_FILE_UTIL.fileIOException("failed differ " + file
- + " with " + fileName, file, exception);
+ throw HELPER_FILE_UTIL.fileIOException("failed differ " + getFile()
+ + " with " + fileName, getFile(), exception);
} finally {
try {
if (referenceChannel != null) {
@@ -431,8 +318,8 @@
fileChannel.close();
}
} catch (IOException exception) {
- throw HELPER_FILE_UTIL.fileIOException("failed differ " + file
- + " with " + fileName, file, exception);
+ throw HELPER_FILE_UTIL.fileIOException("failed differ " + getFile()
+ + " with " + fileName, getFile(), exception);
}
return differs;
Modified: trunk/joafip-file/src/main/java/net/sf/joafip/file/service/RandomAccessFileReadWriteCache.java
===================================================================
--- trunk/joafip-file/src/main/java/net/sf/joafip/file/service/RandomAccessFileReadWriteCache.java 2012-05-21 01:43:10 UTC (rev 3086)
+++ trunk/joafip-file/src/main/java/net/sf/joafip/file/service/RandomAccessFileReadWriteCache.java 2012-05-21 03:59:02 UTC (rev 3087)
@@ -85,14 +85,11 @@
*
* @param file
* the file to use for read/write operations
- * @param maxRetry
- * @param retryMsDelay
*/
@Fortest
public RandomAccessFileReadWriteCache(
- final IRandomAccessFile randomAccessFile, final int maxRetry,
- final int retryMsDelay) {
- super(maxRetry, retryMsDelay);
+ final IRandomAccessFile randomAccessFile) {
+ super();
this.randomAccessFileDelegate = randomAccessFile;
pageSize = 0x1fff + 1;// 8K
inPageMask = 0x1fff;
@@ -120,13 +117,11 @@
* 1024
* @param maxPage
* maximum number of page for read cache
- * @param maxRetry
- * @param retryMsDelay
*/
public RandomAccessFileReadWriteCache(
final IRandomAccessFile randomAccessFile, final int pageSize,
- final int maxPage, final int maxRetry, final int retryMsDelay) {
- super(maxRetry, retryMsDelay);
+ final int maxPage) {
+ super();
if (pageSize < 256) {
throw new IllegalArgumentException(
"page size must be greater or equals to 256");
Modified: trunk/joafip-file/src/test/java/net/sf/joafip/file/service/AbstractRandomFileTest.java
===================================================================
--- trunk/joafip-file/src/test/java/net/sf/joafip/file/service/AbstractRandomFileTest.java 2012-05-21 01:43:10 UTC (rev 3086)
+++ trunk/joafip-file/src/test/java/net/sf/joafip/file/service/AbstractRandomFileTest.java 2012-05-21 03:59:02 UTC (rev 3087)
@@ -44,6 +44,10 @@
public abstract class AbstractRandomFileTest extends
AbstractJoafipCommonTestCase {
+ private final static int PAGE_SIZE = 256;
+
+ private final static int MAX_PAGE = 4;
+
private String runtimeFile2;
private String runtimeFile1;
@@ -171,7 +175,7 @@
final IRandomAccessFile randomFile = newRandomAccessFile(file1, 1, 0);
final IRandomAccessFile randomAccessFileDirect =
- /**/new RandomAccessFileReadWriteCache(randomFile, 1, 0);
+ /**/new RandomAccessFileReadWriteCache(randomFile, PAGE_SIZE, MAX_PAGE);
copyDiffOpened(file1, file2, randomAccessFileDirect);
}
@@ -210,7 +214,7 @@
final IRandomAccessFile randomFile = newRandomAccessFile(file1, 1, 0);
final IRandomAccessFile randomAccessFileDirect =
- /**/new RandomAccessFileReadWriteCache(randomFile, 1, 0);
+ /**/new RandomAccessFileReadWriteCache(randomFile, PAGE_SIZE, MAX_PAGE);
copyDiffClosed(file1, file2, randomAccessFileDirect);
}
Modified: trunk/joafip-file/src/test/java/net/sf/joafip/file/service/RandomAccessFileReadWriteCacheTest.java
===================================================================
--- trunk/joafip-file/src/test/java/net/sf/joafip/file/service/RandomAccessFileReadWriteCacheTest.java 2012-05-21 01:43:10 UTC (rev 3086)
+++ trunk/joafip-file/src/test/java/net/sf/joafip/file/service/RandomAccessFileReadWriteCacheTest.java 2012-05-21 03:59:02 UTC (rev 3087)
@@ -80,7 +80,7 @@
final File file = new File(path, "tmp.data");
probe = new RandomAccessFileProbeForTest(file);
randomFileAccess = new RandomAccessFileReadWriteCache(probe, PAGE_SIZE,
- MAX_PAGE, 1, 0);
+ MAX_PAGE);
if (randomFileAccess.getPageSize() != PAGE_SIZE) {
throw new Exception("bad page size: "// NOPMD
+ randomFileAccess.getPageSize() + " for "
Modified: trunk/joafip-file/src/test/java/net/sf/joafip/file/service/RandomFileCacheTest.java
===================================================================
--- trunk/joafip-file/src/test/java/net/sf/joafip/file/service/RandomFileCacheTest.java 2012-05-21 01:43:10 UTC (rev 3086)
+++ trunk/joafip-file/src/test/java/net/sf/joafip/file/service/RandomFileCacheTest.java 2012-05-21 03:59:02 UTC (rev 3087)
@@ -51,8 +51,7 @@
final int maxRetry, final int retryMsDelay) {
final IRandomAccessFile randomAccessFile = new RandomAccessFileDirect(
file, maxRetry, retryMsDelay);
- return new RandomAccessFileReadWriteCache(randomAccessFile, maxRetry,
- retryMsDelay);
+ return new RandomAccessFileReadWriteCache(randomAccessFile);
}
@Override
Modified: trunk/joafip-kvstore/src/main/java/net/sf/joafip/kvstore/service/FileForStorable.java
===================================================================
--- trunk/joafip-kvstore/src/main/java/net/sf/joafip/kvstore/service/FileForStorable.java 2012-05-21 01:43:10 UTC (rev 3086)
+++ trunk/joafip-kvstore/src/main/java/net/sf/joafip/kvstore/service/FileForStorable.java 2012-05-21 03:59:02 UTC (rev 3087)
@@ -157,8 +157,7 @@
final IRandomAccessFile randomAccessFileDirect = newRandomAccessFile(
fileAccessMode, file, maxRetry, retryMsDelay);
randomAccessFile = new RandomAccessFileReadWriteCache(
- randomAccessFileDirect, pageSize, maxPage, maxRetry,
- retryMsDelay);
+ randomAccessFileDirect, pageSize, maxPage);
}
/**
Modified: trunk/joafip-testsuite/src/main/java/net/sf/joafip/InErrorTests.java
===================================================================
--- trunk/joafip-testsuite/src/main/java/net/sf/joafip/InErrorTests.java 2012-05-21 01:43:10 UTC (rev 3086)
+++ trunk/joafip-testsuite/src/main/java/net/sf/joafip/InErrorTests.java 2012-05-21 03:59:02 UTC (rev 3087)
@@ -24,9 +24,10 @@
import junit.framework.Test;
import junit.framework.TestSuite;
-import net.sf.joafip.service.rel300.TestUseRuntime222;
-import net.sf.joafip.service.rel300.TestUseRuntime222NotLazy;
-import net.sf.joafip.store.service.TestStoreForPersistenteClassFileDirect;
+import net.sf.joafip.file.service.RandomFileCacheTest;
+import net.sf.joafip.file.service.RandomFileDirectMappedTest;
+import net.sf.joafip.file.service.RandomFileDirectNioTest;
+import net.sf.joafip.file.service.RandomFileDirectTest;
/**
*
@@ -43,9 +44,10 @@
public static Test suite() {
final TestSuite suite = new TestSuite("in error Tests");
// $JUnit-BEGIN$
- suite.addTestSuite(TestStoreForPersistenteClassFileDirect.class);
- suite.addTestSuite(TestUseRuntime222.class);
- suite.addTestSuite(TestUseRuntime222NotLazy.class);
+ suite.addTestSuite(RandomFileDirectTest.class);
+ suite.addTestSuite(RandomFileDirectNioTest.class);
+ suite.addTestSuite(RandomFileCacheTest.class);
+ suite.addTestSuite(RandomFileDirectMappedTest.class);
// suite.addTest(xxxx.suite());
// $JUnit-END$
return suite;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <luc...@us...> - 2012-05-21 03:59:09
|
Revision: 3087
http://joafip.svn.sourceforge.net/joafip/?rev=3087&view=rev
Author: luc_peuvrier
Date: 2012-05-21 03:59:02 +0000 (Mon, 21 May 2012)
Log Message:
-----------
random access file management refactoring
Modified Paths:
--------------
trunk/joafip-4test/src/main/java/net/sf/joafip/performance/items/service/AbstractPerfService.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/AbstractRandomAccessFile.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/RandomAccessFileDirect.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/RandomAccessFileDirectMapped.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/RandomAccessFileDirectNio.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/RandomAccessFileReadWriteCache.java
trunk/joafip-file/src/test/java/net/sf/joafip/file/service/AbstractRandomFileTest.java
trunk/joafip-file/src/test/java/net/sf/joafip/file/service/RandomAccessFileReadWriteCacheTest.java
trunk/joafip-file/src/test/java/net/sf/joafip/file/service/RandomFileCacheTest.java
trunk/joafip-kvstore/src/main/java/net/sf/joafip/kvstore/service/FileForStorable.java
trunk/joafip-testsuite/src/main/java/net/sf/joafip/InErrorTests.java
Added Paths:
-----------
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/ExRandomAccessFile.java
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <luc...@us...> - 2012-05-21 01:43:18
|
Revision: 3086
http://joafip.svn.sourceforge.net/joafip/?rev=3086&view=rev
Author: luc_peuvrier
Date: 2012-05-21 01:43:10 +0000 (Mon, 21 May 2012)
Log Message:
-----------
random access file based on mapped byte buffer new implementation
Modified Paths:
--------------
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/RandomAccessFileDirectMapped.java
trunk/joafip-file/src/test/java/net/sf/joafip/file/service/AbstractRandomFileTest.java
trunk/joafip-kvstore/src/main/java/net/sf/joafip/kvstore/service/AbstractHeapDataManager.java
trunk/joafip-kvstore/src/main/java/net/sf/joafip/kvstore/service/FileForStorable.java
trunk/joafip-parent/deploy_compiled_tested_by_eclipse.bat
trunk/joafip-parent/install_compiled_tested_by_eclipse.bat
trunk/joafip-testsuite/src/main/java/net/sf/joafip/InErrorTests.java
Added Paths:
-----------
trunk/joafip-file/src/main/java/net/sf/joafip/file/entity/ByteBufferNode.java
Removed Paths:
-------------
trunk/joafip-file/src/main/java/net/sf/joafip/file/entity/MappedByteBufferNode.java
Copied: trunk/joafip-file/src/main/java/net/sf/joafip/file/entity/ByteBufferNode.java (from rev 3085, trunk/joafip-file/src/main/java/net/sf/joafip/file/entity/MappedByteBufferNode.java)
===================================================================
--- trunk/joafip-file/src/main/java/net/sf/joafip/file/entity/ByteBufferNode.java (rev 0)
+++ trunk/joafip-file/src/main/java/net/sf/joafip/file/entity/ByteBufferNode.java 2012-05-21 01:43:10 UTC (rev 3086)
@@ -0,0 +1,111 @@
+/*
+ * Copyright 2012 Luc Peuvrier
+ * All rights reserved.
+ *
+ * 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.file.entity;
+
+import java.nio.ByteBuffer;
+
+import net.sf.joafip.NotStorableClass;
+
+/**
+ *
+ * @author luc peuvrier
+ *
+ */
+@NotStorableClass
+public class ByteBufferNode {
+
+ private final ByteBuffer byteBuffer;
+
+ private final long index;
+
+ private ByteBufferNode previous;
+
+ private ByteBufferNode next;
+
+ private boolean toBeWrote;
+
+ // private Exception closeTrace;
+
+ public ByteBufferNode(final ByteBuffer byteBuffer, final long index) {
+ super();
+ this.byteBuffer = byteBuffer;
+ this.index = index;
+ }
+
+ public ByteBuffer getByteBuffer() {
+ return byteBuffer;
+ }
+
+ public long getIndex() {
+ return index;
+ }
+
+ public ByteBufferNode getPrevious() {
+ return previous;
+ }
+
+ public void setPrevious(final ByteBufferNode previous) {
+ this.previous = previous;
+ }
+
+ public ByteBufferNode getNext() {
+ return next;
+ }
+
+ public void setNext(final ByteBufferNode next) {
+ this.next = next;
+ }
+
+ // public boolean close() {
+ // final boolean wasOpenned = mappedByteBuffer != null;
+ // if (wasOpenned) {
+ // closeTrace = new Exception("closer");// NOPMD
+ // mappedByteBuffer = null;// NOPMD
+ // }
+ // return wasOpenned;
+ // }
+
+ // public Exception getCloseTrace() {
+ // return closeTrace;
+ // }
+
+ @Override
+ public String toString() {
+ final StringBuilder builder = new StringBuilder();
+ builder.append("MappedByteBufferNode [index=");
+ builder.append(index);
+ // builder.append(", closed=");
+ // builder.append(mappedByteBuffer == null);
+ builder.append("]");
+ return builder.toString();
+ }
+
+ public void setToBeWrote() {
+ toBeWrote = true;
+ }
+
+ public boolean isToBeWrote() {
+ return toBeWrote;
+ }
+}
Deleted: trunk/joafip-file/src/main/java/net/sf/joafip/file/entity/MappedByteBufferNode.java
===================================================================
--- trunk/joafip-file/src/main/java/net/sf/joafip/file/entity/MappedByteBufferNode.java 2012-05-12 00:19:32 UTC (rev 3085)
+++ trunk/joafip-file/src/main/java/net/sf/joafip/file/entity/MappedByteBufferNode.java 2012-05-21 01:43:10 UTC (rev 3086)
@@ -1,76 +0,0 @@
-/*
- * Copyright 2012 Luc Peuvrier
- * All rights reserved.
- *
- * 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.file.entity;
-
-import java.nio.MappedByteBuffer;
-
-import net.sf.joafip.NotStorableClass;
-
-/**
- *
- * @author luc peuvrier
- *
- */
-@NotStorableClass
-public class MappedByteBufferNode {
-
- private final MappedByteBuffer mappedByteBuffer;
-
- private final long index;
-
- private MappedByteBufferNode previous;
-
- private MappedByteBufferNode next;
-
- public MappedByteBufferNode(final MappedByteBuffer mappedByteBuffer,
- final long index) {
- super();
- this.mappedByteBuffer = mappedByteBuffer;
- this.index = index;
- }
-
- public MappedByteBuffer getMappedByteBuffer() {
- return mappedByteBuffer;
- }
-
- public long getIndex() {
- return index;
- }
-
- public MappedByteBufferNode getPrevious() {
- return previous;
- }
-
- public void setPrevious(final MappedByteBufferNode previous) {
- this.previous = previous;
- }
-
- public MappedByteBufferNode getNext() {
- return next;
- }
-
- public void setNext(final MappedByteBufferNode next) {
- this.next = next;
- }
-}
Modified: trunk/joafip-file/src/main/java/net/sf/joafip/file/service/RandomAccessFileDirectMapped.java
===================================================================
--- trunk/joafip-file/src/main/java/net/sf/joafip/file/service/RandomAccessFileDirectMapped.java 2012-05-12 00:19:32 UTC (rev 3085)
+++ trunk/joafip-file/src/main/java/net/sf/joafip/file/service/RandomAccessFileDirectMapped.java 2012-05-21 01:43:10 UTC (rev 3086)
@@ -25,6 +25,7 @@
import java.io.File;
import java.io.IOException;
+import java.nio.ByteBuffer;
import java.nio.MappedByteBuffer;
import java.nio.channels.FileChannel;
import java.nio.channels.FileChannel.MapMode;
@@ -32,7 +33,7 @@
import java.util.TreeMap;
import net.sf.joafip.NotStorableClass;
-import net.sf.joafip.file.entity.MappedByteBufferNode;
+import net.sf.joafip.file.entity.ByteBufferNode;
import sun.misc.Cleaner;//NOPMD
/**
@@ -44,22 +45,26 @@
@NotStorableClass
public class RandomAccessFileDirectMapped extends RandomAccessFileDirectNio {
- private static final int MAX_MAP_BITS = 14;// 20bits: 1Mbyte. 14 bits: 16
- // kbytes
+ // private static final String CLOSED = "closed #";
+ private static final int MAX_MAP_BITS = 14;// 20bits: 1Mbyte.
+ // 14 bits: 16 kbytes
+
private static final int MAX_MAP_SIZE = 1 << MAX_MAP_BITS;
- private static final int MAX_NUMBER_OF_MAP = 64;
+ private static final int MAX_NUMBER_OF_MAP = 32;
- private final Map<Long, MappedByteBufferNode> mappedByteBufferMap =
- /**/new TreeMap<Long, MappedByteBufferNode>();
+ private final Map<Long, ByteBufferNode> byteBufferMap =
+ /**/new TreeMap<Long, ByteBufferNode>();
- private MappedByteBufferNode first;
+ private ByteBufferNode first;
- private MappedByteBufferNode last;
+ private ByteBufferNode last;
- private long fileSize;
+ private long fileContentSize;
+ private long filePhysicalSize;
+
public RandomAccessFileDirectMapped(final File file, final int maxRetry,
final int retryMsDelay) {
super(file, maxRetry, retryMsDelay);
@@ -69,7 +74,8 @@
public void openImpl() throws FileIOException {
super.openImpl();
try {
- fileSize = fileChannel.size();
+ fileContentSize = fileChannel.size();
+ filePhysicalSize = fileContentSize;
} catch (Exception exception) {
throw new FileIOErrorException("opening file", file, exception);
}
@@ -78,24 +84,20 @@
@Override
public void closeImpl() throws FileIOException {
try {
- // System.out.println("map");
- // for(MappedByteBufferNode
- // mappedByteBufferNode:mappedByteBufferMap.values()) {
- // System.out.println("unMap "+mappedByteBufferNode.getIndex());
- // // unMap(mappedByteBufferNode.getMappedByteBuffer());
- // }
- // System.out.println("list");
- MappedByteBufferNode current = first;
+ ByteBufferNode current = first;
while (current != null) {
- // System.out.println("unMap "+current.getIndex());
- unMap(current.getMappedByteBuffer());
+ final ByteBuffer byteBuffer = current.getByteBuffer();
+ // if (!current.close()) {
+ // throw new FileIOErrorException(CLOSED + current.getIndex(),
+ // file, current.getCloseTrace());
+ // }
+ unMap(byteBuffer, current.getIndex(), current.isToBeWrote());
current = current.getNext();
}
-
- mappedByteBufferMap.clear();
+ byteBufferMap.clear();
first = null;// NOPMD
last = null;// NOPMD
- randomAccessFile.setLength(fileSize);
+ fileChannel.truncate(fileContentSize);
} catch (IOException exception) {
throw new FileIOErrorException("closing file", file, exception);
} finally {
@@ -110,39 +112,53 @@
@Override
public void flushImpl() throws FileIOException {
- MappedByteBufferNode current = first;
+ ByteBufferNode current = first;
while (current != null) {
- current.getMappedByteBuffer().force();
+ final ByteBuffer byteBuffer = current.getByteBuffer();
+ if (byteBuffer.isDirect()) {
+ ((MappedByteBuffer) byteBuffer).force();
+ } else {
+ final long index = current.getIndex();
+ writeByteBuffer(byteBuffer, index);
+ byteBufferMap.remove(index);
+ remove(current);
+ }
current = current.getNext();
}
}
@Override
public long lengthImpl() throws FileIOException {
- return fileSize;
+ return fileContentSize;
}
@Override
public void setLengthImpl(final long newSize) throws FileIOException {
try {
- unMapIfMapped(newSize);
- fileSize = newSize;
- randomAccessFile.setLength(ceilFileSize(newSize));
+ fileContentSize = newSize;
+ final long ceilFileSize = ceilFileSize(newSize);
+ unMapIfMapped(ceilFileSize);
+ randomAccessFile.setLength(ceilFileSize);
} catch (IOException exception) {
throw HELPER_FILE_UTIL.fileIOException("failed set length of "
+ file, file, exception);
}
}
- private void unMapIfMapped(final long size) {
+ private void unMapIfMapped(final long size) throws FileIOErrorException {
long index = (size >> MAX_MAP_BITS) + 1;
- MappedByteBufferNode mappedByteBufferNode = mappedByteBufferMap
- .remove(index);
- while (mappedByteBufferNode != null) {
- remove(mappedByteBufferNode);
- unMap(mappedByteBufferNode.getMappedByteBuffer());
+ ByteBufferNode byteBufferNode = byteBufferMap.remove(index);
+ while (byteBufferNode != null) {
+ remove(byteBufferNode);
+ final ByteBuffer byteBuffer = byteBufferNode.getByteBuffer();
+ // if (!byteBufferNode.close()) {
+ // throw new FileIOErrorException(CLOSED
+ // + byteBufferNode.getIndex(), file,
+ // byteBufferNode.getCloseTrace());
+ // }
+ unMap(byteBuffer, index, byteBufferNode.isToBeWrote());
index++;
- mappedByteBufferNode = mappedByteBufferMap.remove(index);
+ byteBufferNode = byteBufferMap.remove(index);
}
}
@@ -156,9 +172,9 @@
throws FileIOException {
final int maxReadable;
- if (currentPositionInFile < fileSize) {
- maxReadable = (int) Math.min(fileSize - currentPositionInFile,
- length);
+ if (currentPositionInFile < fileContentSize) {
+ maxReadable = (int) Math.min(fileContentSize
+ - currentPositionInFile, length);
} else {
maxReadable = 0;
}
@@ -175,9 +191,9 @@
} else {
toReadInMap = maxReadable - read;
}
- final MappedByteBuffer mappedByteBuffer = getMappedByteBuffer(index);
- mappedByteBuffer.position(inMapposition);
- mappedByteBuffer.get(data, offset + read, toReadInMap);
+ final ByteBuffer byteBuffer = getMappedByteBuffer(index, false);
+ byteBuffer.position(inMapposition);
+ byteBuffer.get(data, offset + read, toReadInMap);
read += toReadInMap;
index++;
inMapposition = 0;
@@ -203,63 +219,86 @@
long index = currentPositionInFile >> MAX_MAP_BITS;
final long mapStartPosition = ((long) index) << MAX_MAP_BITS;
- int inMapposition = (int) (currentPositionInFile - mapStartPosition);
+ int inMapPosition = (int) (currentPositionInFile - mapStartPosition);
int wrote = 0;
while (wrote != length) {
- final int positionToEndLength = MAX_MAP_SIZE - inMapposition;
+ final int positionToEndLength = MAX_MAP_SIZE - inMapPosition;
final int toWriteInMap;
if (length - wrote > positionToEndLength) {
toWriteInMap = positionToEndLength;
} else {
toWriteInMap = length - wrote;
}
- final MappedByteBuffer mappedByteBuffer = getMappedByteBuffer(index);
- mappedByteBuffer.position(inMapposition);
- if (mappedByteBuffer.capacity() < toWriteInMap) {
+ final ByteBuffer byteBuffer = getMappedByteBuffer(index, true);
+ byteBuffer.position(inMapPosition);
+ if (byteBuffer.capacity() < toWriteInMap) {
throw new FileIOErrorException("out of capacity "
- + mappedByteBuffer.capacity() + " for " + toWriteInMap,
- file, null);
+ + byteBuffer.capacity() + " for " + toWriteInMap, file,
+ null);
}
- if (mappedByteBuffer.limit() < toWriteInMap) {
- // throw new FileIOErrorException("out of limit", file, null);
- mappedByteBuffer.limit(toWriteInMap);
- }
- mappedByteBuffer.put(data, offset + wrote, toWriteInMap);
+ byteBuffer.put(data, offset + wrote, toWriteInMap);
wrote += toWriteInMap;
index++;
- inMapposition = 0;
+ inMapPosition = 0;
}
currentPositionInFile += length;
- if (currentPositionInFile > fileSize) {
- fileSize = currentPositionInFile;
+ if (currentPositionInFile > fileContentSize) {
+ fileContentSize = currentPositionInFile;
}
}
- private MappedByteBuffer getMappedByteBuffer(final long index)
- throws FileIOErrorException {
- final long position = ((long) index) << MAX_MAP_BITS;
- MappedByteBuffer mappedByteBuffer;
- MappedByteBufferNode mappedByteBufferNode = mappedByteBufferMap
- .get(index);
- if (mappedByteBufferNode == null) {
- mappedByteBuffer = fileChannelMap(FileChannel.MapMode.READ_WRITE,
- position, MAX_MAP_SIZE);
- mappedByteBufferNode = new MappedByteBufferNode(mappedByteBuffer,
- index);
- mappedByteBufferMap.put(index, mappedByteBufferNode);
- if (mappedByteBufferMap.size() > MAX_NUMBER_OF_MAP) {
- mappedByteBufferMap.remove(last.getIndex());
- unMap(last.getMappedByteBuffer());
+ private ByteBuffer getMappedByteBuffer(final long index,
+ final boolean forWrite) throws FileIOErrorException {
+ final long positionInFile = index << MAX_MAP_BITS;
+ final ByteBuffer byteBuffer;
+ ByteBufferNode byteBufferNode = byteBufferMap.get(index);
+ if (byteBufferNode == null) {
+ if (positionInFile >= filePhysicalSize) {
+ byteBuffer = ByteBuffer.allocate(MAX_MAP_SIZE);
+ for (int count = 0; count < MAX_MAP_SIZE; count++) {
+ byteBuffer.put((byte) 0);
+ }
+ } else {
+ byteBuffer = fileChannelMap(FileChannel.MapMode.READ_WRITE,
+ positionInFile, MAX_MAP_SIZE);
+ }
+
+ byteBufferNode = new ByteBufferNode(byteBuffer, index);
+ byteBufferMap.put(index, byteBufferNode);
+ add(byteBufferNode);
+ if (byteBufferMap.size() > MAX_NUMBER_OF_MAP) {
+ // ASSERTX
+ final long indexOfLast = last.getIndex();
+ assert index != indexOfLast;
+ final ByteBufferNode removed = byteBufferMap
+ .remove(indexOfLast);
+ // ASSERTX
+ assert removed == last;// NOPMD same instance
remove(last);
+ final ByteBuffer lastMappedByteBuffer = removed.getByteBuffer();
+ // if (!removed.close()) {
+ // throw new FileIOErrorException(CLOSED + removed.getIndex(),
+ // file, removed.getCloseTrace());
+ // }
+ unMap(lastMappedByteBuffer, indexOfLast, removed.isToBeWrote());
}
- add(mappedByteBufferNode);
+
} else {
- mappedByteBuffer = mappedByteBufferNode.getMappedByteBuffer();
- remove(mappedByteBufferNode);
- add(mappedByteBufferNode);
+ // ASSERTX
+ assert byteBufferNode.getIndex() == index;
+ byteBuffer = byteBufferNode.getByteBuffer();
+ // if (byteBuffer == null) {
+ // throw new FileIOErrorException(CLOSED + index, file,
+ // byteBufferNode.getCloseTrace());
+ // }
+ remove(byteBufferNode);
+ add(byteBufferNode);
}
- return mappedByteBuffer;
+ if (forWrite) {
+ byteBufferNode.setToBeWrote();
+ }
+ return byteBuffer;
}
private MappedByteBuffer fileChannelMap(final MapMode mode,
@@ -272,43 +311,82 @@
}
}
- /**
- * Returns 16 Megabytes plus the smallest size that is not less than the
- * argument and is multiple of 16 Megabytes.
- *
- * @param realSize
- * @return
- */
private long ceilFileSize(final long realSize) {
- // 24 bits for 16 Mbytes
- return ((realSize >> 24) + 1) << 24;
+ final long index = realSize >> MAX_MAP_BITS;
+ return ceilFileSizeForIndex(index);
}
- private void unMap(final MappedByteBuffer mappedByteBuffer) {
- mappedByteBuffer.force();
- final Cleaner cleaner = ((sun.nio.ch.DirectBuffer) mappedByteBuffer)
- .cleaner();
- if (cleaner != null) {
- cleaner.clean();
+ private long ceilFileSizeForIndex(final long index) {
+ return (index + 1) << MAX_MAP_BITS;
+ }
+
+ private void unMap(final ByteBuffer byteBuffer, final long index,
+ final boolean toBeWrote) throws FileIOErrorException {
+ try {
+ if (toBeWrote) {
+ if (byteBuffer.isDirect()) {
+ ((MappedByteBuffer) byteBuffer).force();
+ final Cleaner cleaner = ((sun.nio.ch.DirectBuffer) byteBuffer)
+ .cleaner();
+ if (cleaner != null) {
+ cleaner.clean();
+ }
+ } else {
+ writeByteBuffer(byteBuffer, index);
+ }
+ } else {
+ if (byteBuffer.isDirect()) {
+ final Cleaner cleaner = ((sun.nio.ch.DirectBuffer) byteBuffer)
+ .cleaner();
+ if (cleaner != null) {
+ cleaner.clean();
+ }
+ }
+ }
+ } catch (Exception exception) {
+ String fileSize;
+ try {
+ fileSize = Long.toString(fileChannel.size());
+ } catch (IOException e) {
+ fileSize = "?";
+ }
+ throw new FileIOErrorException("unmapping " + byteBuffer.toString()
+ + "\nindex #" + index + "\nfile size=" + fileSize + " ("
+ + filePhysicalSize + ")", file, exception);
}
}
- private void add(final MappedByteBufferNode mappedByteBufferNode) {
+ private void writeByteBuffer(final ByteBuffer byteBuffer, final long index)
+ throws FileIOErrorException {
+ try {
+ final long positionInFile = index << MAX_MAP_BITS;
+ byteBuffer.clear();
+ fileChannel.write(byteBuffer, positionInFile);
+ final long endPosition = positionInFile + MAX_MAP_SIZE;
+ if (endPosition > filePhysicalSize) {
+ filePhysicalSize = endPosition;
+ }
+ } catch (Exception exception) {
+ throw new FileIOErrorException("writing byte buffer", file,
+ exception);
+ }
+ }
+
+ private void add(final ByteBufferNode byteBufferNode) {
if (first == null) {
- mappedByteBufferNode.setNext(null);
- last = mappedByteBufferNode;
+ byteBufferNode.setNext(null);
+ last = byteBufferNode;
} else {
- first.setPrevious(mappedByteBufferNode);
- mappedByteBufferNode.setNext(first);
+ first.setPrevious(byteBufferNode);
+ byteBufferNode.setNext(first);
}
- mappedByteBufferNode.setPrevious(null);
- first = mappedByteBufferNode;
+ byteBufferNode.setPrevious(null);
+ first = byteBufferNode;
}
- private void remove(final MappedByteBufferNode mappedByteBufferNode) {
- final MappedByteBufferNode previous = mappedByteBufferNode
- .getPrevious();
- final MappedByteBufferNode next = mappedByteBufferNode.getNext();
+ private void remove(final ByteBufferNode byteBufferNode) {
+ final ByteBufferNode previous = byteBufferNode.getPrevious();
+ final ByteBufferNode next = byteBufferNode.getNext();
if (previous == null) {
first = next;
} else {
Modified: trunk/joafip-file/src/test/java/net/sf/joafip/file/service/AbstractRandomFileTest.java
===================================================================
--- trunk/joafip-file/src/test/java/net/sf/joafip/file/service/AbstractRandomFileTest.java 2012-05-12 00:19:32 UTC (rev 3085)
+++ trunk/joafip-file/src/test/java/net/sf/joafip/file/service/AbstractRandomFileTest.java 2012-05-21 01:43:10 UTC (rev 3086)
@@ -1,3 +1,26 @@
+/*
+ * Copyright 2012 Luc Peuvrier
+ * All rights reserved.
+ *
+ * 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.file.service;
import java.io.File;
@@ -11,13 +34,16 @@
import net.sf.joafip.TestConstant;
import net.sf.joafip.TestException;
+/**
+ *
+ * @author luc peuvrier
+ *
+ */
@NotStorableClass
@DoNotTransform
public abstract class AbstractRandomFileTest extends
AbstractJoafipCommonTestCase {
- // private String runtimeFile3;
- //
private String runtimeFile2;
private String runtimeFile1;
@@ -33,7 +59,6 @@
@Override
protected void setUp() throws Exception {// NOPMD
super.setUp();
- // runtimeFile3 = TestConstant.getWinRamDiskRuntimeDir() + "/file3";
runtimeFile2 = TestConstant.getWinRamDiskRuntimeDir() + "/file2";
runtimeFile1 = TestConstant.getWinRamDiskRuntimeDir() + "/file1";
}
@@ -139,28 +164,6 @@
return data;
}
- // public void testCopyDirectOpened() throws IOException, FileIOException
- // {// NOPMD
- // final File file1 = new File(runtimeFile1);
- // file1.delete();
- // final File file2 = new File(runtimeFile2);
- //
- // final IRandomAccessFile randomAccessFileDirect = new
- // RandomAccessFileDirect(
- // file1, 1, 0);
- // copyDiffOpened(file1, file2, randomAccessFileDirect);
- // }
-
- public void testCopyDirectOpened() throws IOException, FileIOException {// NOPMD
- final File file1 = new File(runtimeFile1);
- file1.delete();
- final File file2 = new File(runtimeFile2);
-
- final IRandomAccessFile randomAccessFileDirect = newRandomAccessFile(
- file1, 1, 0);
- copyDiffOpened(file1, file2, randomAccessFileDirect);
- }
-
public void testCopyDirectCacheOpened() throws IOException, FileIOException {// NOPMD
final File file1 = new File(runtimeFile1);
file1.delete();
@@ -190,18 +193,6 @@
assertFalse("files must not differs", fileUtil.diffFile(file1, file2));
}
- // public void testCopyDirectClosed() throws IOException, FileIOException
- // {// NOPMD
- // final File file1 = new File(runtimeFile1);
- // file1.delete();
- // final File file2 = new File(runtimeFile2);
- //
- // final IRandomAccessFile randomAccessFileDirect = new
- // RandomAccessFileDirect(
- // file1, 1, 0);
- // copyDiffClosed(file1, file2, randomAccessFileDirect);
- // }
-
public void testCopyDirectClosed() throws IOException, FileIOException {// NOPMD
final File file1 = new File(runtimeFile1);
file1.delete();
Modified: trunk/joafip-kvstore/src/main/java/net/sf/joafip/kvstore/service/AbstractHeapDataManager.java
===================================================================
--- trunk/joafip-kvstore/src/main/java/net/sf/joafip/kvstore/service/AbstractHeapDataManager.java 2012-05-12 00:19:32 UTC (rev 3085)
+++ trunk/joafip-kvstore/src/main/java/net/sf/joafip/kvstore/service/AbstractHeapDataManager.java 2012-05-21 01:43:10 UTC (rev 3086)
@@ -58,6 +58,72 @@
protected static final String CLEAR_STANDBY_MODIFICATION_FAILED =
/**/"clear standby modification failed";
+ private static final String CLEAR_FAILED =
+ /**/"clear heap failed";
+
+ private static final String DELETE_FAILED =
+ /**/"delete failed";
+
+ private static final String GET_LAST_DATA_RECORD_FAILED =
+ /**/"get last data record failed";
+
+ private static final String GET_FIRST_DATA_RECORD_FAILED =
+ /**/"get first data record failed";
+
+ private static final String HAS_DATA_RECORD_FAILED =
+ /**/"has data record failed";
+
+ private static final String WRITE_FAILED =
+ /**/"write failed";
+
+ private static final String READ_FAILED =
+ /**/"read failed";
+
+ private static final String GET_HEAP_USED_SIZE_FAILED =
+ /**/"get heap used size failed";
+
+ private static final String GET_HEAP_FREE_SIZE_FAILED =
+ /**/"get heap free size failed";
+
+ private static final String GET_HEAP_SIZE_FAILED =
+ /**/"get heap size failed";
+
+ private static final String GET_NUMBER_OF_FREE_RECORD_FAILED =
+ /**/"get number of free record failed";
+
+ private static final String GET_NUMBER_OF_DATA_RECORD_FAILED =
+ /**/"get number of data record failed";
+
+ private static final String REMOVE_FIRST_DATA_RECORD_FAILED =
+ /**/"remove first data record failed";
+
+ private static final String GET_HIGHER_DATA_RECORD_IDENTIFIER_FAILED =
+ /**/"get higher data record identifier failed";
+
+ private static final String GET_CEILING_DATA_RECORD_IDENTIFIER_FAILED =
+ /**/"get ceiling data record identifier failed";
+
+ private static final String GET_FLOOR_DATA_RECORD_IDENTIFIER_FAILED =
+ /**/"get floor data record identifier failed";
+
+ private static final String GET_LOWER_DATA_RECORD_IDENTIFIER_FAILED =
+ /**/"get lower data record identifier failed";
+
+ private static final String GET_NEW_DATA_RECORD_IDENTFIER_FAILED =
+ /**/"get new data record identfier failed";
+
+ private static final String SET_NEXT_FREE_DATA_RECORD_IDENTIFIER_FAILED =
+ /**/"set next free data record identifier failed";
+
+ private static final String GET_NEXT_FREE_DATA_RECORD_IDENTIFIER_FAILED =
+ /**/"get next free data record identifier failed";
+
+ private static final String STOP_SERVICE_FAILED =
+ /**/"stop service failed";
+
+ private static final String START_SERVICE_FAILED =
+ /**/"start service failed";
+
/** true when this is service started state */
private boolean started = false;
@@ -81,9 +147,11 @@
started = true;
starterStackTrace = new Exception("starter stack trace");// NOPMD
} catch (HeapException exception) {
+ logger.fatal(START_SERVICE_FAILED, exception);
closeHeapManagerAfterException();
throw exception;
} catch (RuntimeException exception) {
+ logger.fatal(START_SERVICE_FAILED, exception);
closeHeapManagerAfterException();
throw exception;
}
@@ -114,9 +182,11 @@
stopperStackTrace = new Exception("stopper stack trace");// NOPMD
stopServiceImpl();
} catch (HeapException exception) {
+ logger.fatal(STOP_SERVICE_FAILED, exception);
closeHeapManagerAfterException();
throw exception;
} catch (RuntimeException exception) {
+ logger.fatal(STOP_SERVICE_FAILED, exception);
closeHeapManagerAfterException();
throw exception;
}
@@ -144,10 +214,11 @@
logger.debug("clear");
}
} catch (HeapException exception) {
- logger.fatal(CLEAR_STANDBY_MODIFICATION_FAILED);
+ logger.fatal(CLEAR_FAILED, exception);
closeHeapManagerAfterException();
throw exception;
} catch (RuntimeException exception) {
+ logger.fatal(CLEAR_FAILED, exception);
closeHeapManagerAfterException();
throw exception;
}
@@ -165,10 +236,11 @@
logger.debug("flush");
}
} catch (HeapException exception) {
- logger.fatal(CLEAR_STANDBY_MODIFICATION_FAILED);
+ logger.fatal(FLUSH_FAILED, exception);
closeHeapManagerAfterException();
throw exception;
} catch (RuntimeException exception) {
+ logger.fatal(FLUSH_FAILED, exception);
closeHeapManagerAfterException();
throw exception;
}
@@ -192,10 +264,11 @@
logger.debug("clear standby modification");
}
} catch (HeapException exception) {
- logger.fatal(CLEAR_STANDBY_MODIFICATION_FAILED);
+ logger.fatal(CLEAR_STANDBY_MODIFICATION_FAILED, exception);
closeHeapManagerAfterException();
throw exception;
} catch (RuntimeException exception) {
+ logger.fatal(CLEAR_STANDBY_MODIFICATION_FAILED, exception);
closeHeapManagerAfterException();
throw exception;
}
@@ -211,9 +284,11 @@
assert assertStarted();
return getNextFreeDataRecordIdentifierImpl();
} catch (HeapException exception) {
+ logger.fatal(GET_NEXT_FREE_DATA_RECORD_IDENTIFIER_FAILED, exception);
closeHeapManagerAfterException();
throw exception;
} catch (RuntimeException exception) {
+ logger.fatal(GET_NEXT_FREE_DATA_RECORD_IDENTIFIER_FAILED, exception);
closeHeapManagerAfterException();
throw exception;
}
@@ -231,9 +306,11 @@
assert assertStarted();
setNextFreeDataRecordIdentifierImpl(dataRecordIdentifier);
} catch (HeapException exception) {
+ logger.fatal(SET_NEXT_FREE_DATA_RECORD_IDENTIFIER_FAILED, exception);
closeHeapManagerAfterException();
throw exception;
} catch (RuntimeException exception) {
+ logger.fatal(SET_NEXT_FREE_DATA_RECORD_IDENTIFIER_FAILED, exception);
closeHeapManagerAfterException();
throw exception;
}
@@ -254,9 +331,11 @@
}
return newDataRecordIdentifier;
} catch (HeapException exception) {
+ logger.fatal(GET_NEW_DATA_RECORD_IDENTFIER_FAILED, exception);
closeHeapManagerAfterException();
throw exception;
} catch (RuntimeException exception) {
+ logger.fatal(GET_NEW_DATA_RECORD_IDENTFIER_FAILED, exception);
closeHeapManagerAfterException();
throw exception;
}
@@ -284,9 +363,11 @@
}
return deleted;
} catch (HeapException exception) {
+ logger.fatal(DELETE_FAILED, exception);
closeHeapManagerAfterException();
throw exception;
} catch (RuntimeException exception) {
+ logger.fatal(DELETE_FAILED, exception);
closeHeapManagerAfterException();
throw exception;
}
@@ -308,9 +389,11 @@
}
return data;
} catch (HeapException exception) {
+ logger.fatal(READ_FAILED, exception);
closeHeapManagerAfterException();
throw exception;
} catch (RuntimeException exception) {
+ logger.fatal(READ_FAILED, exception);
closeHeapManagerAfterException();
throw exception;
}
@@ -334,9 +417,11 @@
}
return created;
} catch (HeapException exception) {
+ logger.fatal(WRITE_FAILED, exception);
closeHeapManagerAfterException();
throw exception;
} catch (RuntimeException exception) {
+ logger.fatal(WRITE_FAILED, exception);
closeHeapManagerAfterException();
throw exception;
}
@@ -361,9 +446,11 @@
assert assertStarted();
return hasDataRecordImpl(dataRecordIdentifier);
} catch (HeapException exception) {
+ logger.fatal(HAS_DATA_RECORD_FAILED, exception);
closeHeapManagerAfterException();
throw exception;
} catch (RuntimeException exception) {
+ logger.fatal(HAS_DATA_RECORD_FAILED, exception);
closeHeapManagerAfterException();
throw exception;
}
@@ -381,9 +468,11 @@
assert assertStarted();
return firstDataRecordIdentifierImpl();
} catch (HeapException exception) {
+ logger.fatal(GET_FIRST_DATA_RECORD_FAILED, exception);
closeHeapManagerAfterException();
throw exception;
} catch (RuntimeException exception) {
+ logger.fatal(GET_FIRST_DATA_RECORD_FAILED, exception);
closeHeapManagerAfterException();
throw exception;
}
@@ -401,9 +490,11 @@
assert assertStarted();
return lastDataRecordIdentifierImpl();
} catch (HeapException exception) {
+ logger.fatal(GET_LAST_DATA_RECORD_FAILED, exception);
closeHeapManagerAfterException();
throw exception;
} catch (RuntimeException exception) {
+ logger.fatal(GET_LAST_DATA_RECORD_FAILED, exception);
closeHeapManagerAfterException();
throw exception;
}
@@ -423,9 +514,11 @@
assert assertStarted();
return lowerDataRecordIdentifierImpl(dataRecordIdentifier);
} catch (HeapException exception) {
+ logger.fatal(GET_LOWER_DATA_RECORD_IDENTIFIER_FAILED, exception);
closeHeapManagerAfterException();
throw exception;
} catch (RuntimeException exception) {
+ logger.fatal(GET_LOWER_DATA_RECORD_IDENTIFIER_FAILED, exception);
closeHeapManagerAfterException();
throw exception;
}
@@ -446,9 +539,11 @@
assert assertStarted();
return floorDataRecordIdentifierImpl(dataRecordIdentifier);
} catch (HeapException exception) {
+ logger.fatal(GET_FLOOR_DATA_RECORD_IDENTIFIER_FAILED, exception);
closeHeapManagerAfterException();
throw exception;
} catch (RuntimeException exception) {
+ logger.fatal(GET_FLOOR_DATA_RECORD_IDENTIFIER_FAILED, exception);
closeHeapManagerAfterException();
throw exception;
}
@@ -469,9 +564,11 @@
assert assertStarted();
return ceilingDataRecordIdentifierImpl(dataRecordIdentifier);
} catch (HeapException exception) {
+ logger.fatal(GET_CEILING_DATA_RECORD_IDENTIFIER_FAILED, exception);
closeHeapManagerAfterException();
throw exception;
} catch (RuntimeException exception) {
+ logger.fatal(GET_CEILING_DATA_RECORD_IDENTIFIER_FAILED, exception);
closeHeapManagerAfterException();
throw exception;
}
@@ -492,9 +589,11 @@
assert assertStarted();
return higherDataRecordIdentifierImpl(dataRecordIdentifier);
} catch (HeapException exception) {
+ logger.fatal(GET_HIGHER_DATA_RECORD_IDENTIFIER_FAILED, exception);
closeHeapManagerAfterException();
throw exception;
} catch (RuntimeException exception) {
+ logger.fatal(GET_HIGHER_DATA_RECORD_IDENTIFIER_FAILED, exception);
closeHeapManagerAfterException();
throw exception;
}
@@ -513,9 +612,11 @@
assert assertStarted();
return removeFirstDataRecordImpl();
} catch (HeapException exception) {
+ logger.fatal(REMOVE_FIRST_DATA_RECORD_FAILED, exception);
closeHeapManagerAfterException();
throw exception;
} catch (RuntimeException exception) {
+ logger.fatal(REMOVE_FIRST_DATA_RECORD_FAILED, exception);
closeHeapManagerAfterException();
throw exception;
}
@@ -531,9 +632,11 @@
assert assertStarted();
return getNumberOfDataRecordImpl();
} catch (HeapException exception) {
+ logger.fatal(GET_NUMBER_OF_DATA_RECORD_FAILED, exception);
closeHeapManagerAfterException();
throw exception;
} catch (RuntimeException exception) {
+ logger.fatal(GET_NUMBER_OF_DATA_RECORD_FAILED, exception);
closeHeapManagerAfterException();
throw exception;
}
@@ -553,9 +656,11 @@
assert assertStarted();
return getNumberOfFreeRecordImpl();
} catch (HeapException exception) {
+ logger.fatal(GET_NUMBER_OF_FREE_RECORD_FAILED, exception);
closeHeapManagerAfterException();
throw exception;
} catch (RuntimeException exception) {
+ logger.fatal(GET_NUMBER_OF_FREE_RECORD_FAILED, exception);
closeHeapManagerAfterException();
throw exception;
}
@@ -570,9 +675,11 @@
assert assertStarted();
return heapSizeImpl();
} catch (HeapException exception) {
+ logger.fatal(GET_HEAP_SIZE_FAILED, exception);
closeHeapManagerAfterException();
throw exception;
} catch (RuntimeException exception) {
+ logger.fatal(GET_HEAP_SIZE_FAILED, exception);
closeHeapManagerAfterException();
throw exception;
}
@@ -587,9 +694,11 @@
assert assertStarted();
return freeSizeImpl();
} catch (HeapException exception) {
+ logger.fatal(GET_HEAP_FREE_SIZE_FAILED, exception);
closeHeapManagerAfterException();
throw exception;
} catch (RuntimeException exception) {
+ logger.fatal(GET_HEAP_FREE_SIZE_FAILED, exception);
closeHeapManagerAfterException();
throw exception;
}
@@ -604,9 +713,11 @@
assert assertStarted();
return usedSizeImpl();
} catch (HeapException exception) {
+ logger.fatal(GET_HEAP_USED_SIZE_FAILED, exception);
closeHeapManagerAfterException();
throw exception;
} catch (RuntimeException exception) {
+ logger.fatal(GET_HEAP_USED_SIZE_FAILED, exception);
closeHeapManagerAfterException();
throw exception;
}
Modified: trunk/joafip-kvstore/src/main/java/net/sf/joafip/kvstore/service/FileForStorable.java
===================================================================
--- trunk/joafip-kvstore/src/main/java/net/sf/joafip/kvstore/service/FileForStorable.java 2012-05-12 00:19:32 UTC (rev 3085)
+++ trunk/joafip-kvstore/src/main/java/net/sf/joafip/kvstore/service/FileForStorable.java 2012-05-21 01:43:10 UTC (rev 3086)
@@ -265,7 +265,7 @@
try {
randomAccessFile.flush();
} catch (FileIOException e) {
- throw new HeapException(e);
+ throw closeAfterIOException("flush failed", e);
}
}
@@ -275,7 +275,7 @@
try {
randomAccessFile.setLength(0);
} catch (FileIOException e) {
- throw closeAfterIOException(e);
+ throw closeAfterIOException("reset file size failed", e);
}
}
@@ -329,7 +329,7 @@
try {
randomAccessFile.seek(positionInFile);
} catch (FileIOException e) {
- throw closeAfterIOException(e);
+ throw closeAfterIOException("seek failed", e);
}
}
@@ -339,7 +339,7 @@
try {
return randomAccessFile.read(data);// NOPMD
} catch (FileIOException e) {
- throw closeAfterIOException(e);
+ throw closeAfterIOException("read failed", e);
}
}
@@ -350,7 +350,7 @@
try {
return randomAccessFile.read(data, offset, length);// NOPMD
} catch (FileIOException e) {
- throw closeAfterIOException(e);
+ throw closeAfterIOException("read failed", e);
}
}
@@ -360,7 +360,7 @@
try {
randomAccessFile.write(data);
} catch (FileIOException e) {
- throw closeAfterIOException(e);
+ throw closeAfterIOException("write failed", e);
}
}
@@ -371,7 +371,7 @@
try {
randomAccessFile.write(data, offset, length);
} catch (FileIOException e) {
- throw closeAfterIOException(e);
+ throw closeAfterIOException("write failed", e);
}
}
@@ -380,8 +380,8 @@
try {
randomAccessFile.seek(toBackupRecord.getPositionInFile());
randomAccessFile.write(toBackupRecord.getData());
- } catch (FileIOException exception) {
- throw new HeapException(exception);
+ } catch (FileIOException e) {
+ throw closeAfterIOException("write failed", e);
}
}
@@ -397,7 +397,7 @@
try {
size = randomAccessFile.length();
} catch (FileIOException e) {
- throw closeAfterIOException(e);
+ throw closeAfterIOException("get file size failed", e);
}
return size;
}
@@ -415,7 +415,7 @@
try {
randomAccessFile.setLength(newSize);
} catch (FileIOException e) {
- throw closeAfterIOException(e);
+ throw closeAfterIOException("set file size failed", e);
}
}
@@ -425,7 +425,7 @@
try {
randomAccessFile.copy(fileForStorable.getFile().getAbsolutePath());
} catch (FileIOException exception) {
- throw new HeapException(exception);
+ throw new HeapException("copy failed", exception);
}
}
@@ -437,10 +437,10 @@
/**
* close after io exception
*/
- protected HeapException closeAfterIOException(
+ protected HeapException closeAfterIOException(final String message,
final FileIOException exception) throws HeapException {
final HeapException fileForStorageException =
- /**/new HeapException(exception);
+ /**/new HeapException(message, exception);
try {
close();
} catch (HeapException exception2) {
Modified: trunk/joafip-parent/deploy_compiled_tested_by_eclipse.bat
===================================================================
--- trunk/joafip-parent/deploy_compiled_tested_by_eclipse.bat 2012-05-12 00:19:32 UTC (rev 3085)
+++ trunk/joafip-parent/deploy_compiled_tested_by_eclipse.bat 2012-05-21 01:43:10 UTC (rev 3086)
@@ -1,3 +1,4 @@
@echo off
@rem deploy from eclipse compilation
-mvn deploy -P compiled_tested_by_eclipse
\ No newline at end of file
+call mvn deploy -P compiled_tested_by_eclipse
+pause
\ No newline at end of file
Modified: trunk/joafip-parent/install_compiled_tested_by_eclipse.bat
===================================================================
--- trunk/joafip-parent/install_compiled_tested_by_eclipse.bat 2012-05-12 00:19:32 UTC (rev 3085)
+++ trunk/joafip-parent/install_compiled_tested_by_eclipse.bat 2012-05-21 01:43:10 UTC (rev 3086)
@@ -1,3 +1,4 @@
@echo off
@rem install from eclipse compilation
-mvn install -P compiled_tested_by_eclipse
\ No newline at end of file
+call mvn install -P compiled_tested_by_eclipse
+pause
\ No newline at end of file
Modified: trunk/joafip-testsuite/src/main/java/net/sf/joafip/InErrorTests.java
===================================================================
--- trunk/joafip-testsuite/src/main/java/net/sf/joafip/InErrorTests.java 2012-05-12 00:19:32 UTC (rev 3085)
+++ trunk/joafip-testsuite/src/main/java/net/sf/joafip/InErrorTests.java 2012-05-21 01:43:10 UTC (rev 3086)
@@ -24,8 +24,9 @@
import junit.framework.Test;
import junit.framework.TestSuite;
-import net.sf.joafip.store.service.TestStoreMemoryLeakNoCacheGarbage;
-import net.sf.joafip.store.service.TestStoreMemoryLeakNoCacheNoGarbage;
+import net.sf.joafip.service.rel300.TestUseRuntime222;
+import net.sf.joafip.service.rel300.TestUseRuntime222NotLazy;
+import net.sf.joafip.store.service.TestStoreForPersistenteClassFileDirect;
/**
*
@@ -42,8 +43,9 @@
public static Test suite() {
final TestSuite suite = new TestSuite("in error Tests");
// $JUnit-BEGIN$
- suite.addTestSuite(TestStoreMemoryLeakNoCacheGarbage.class);
- suite.addTestSuite(TestStoreMemoryLeakNoCacheNoGarbage.class);
+ suite.addTestSuite(TestStoreForPersistenteClassFileDirect.class);
+ suite.addTestSuite(TestUseRuntime222.class);
+ suite.addTestSuite(TestUseRuntime222NotLazy.class);
// suite.addTest(xxxx.suite());
// $JUnit-END$
return suite;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <luc...@us...> - 2012-05-21 01:43:17
|
Revision: 3086
http://joafip.svn.sourceforge.net/joafip/?rev=3086&view=rev
Author: luc_peuvrier
Date: 2012-05-21 01:43:10 +0000 (Mon, 21 May 2012)
Log Message:
-----------
random access file based on mapped byte buffer new implementation
Modified Paths:
--------------
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/RandomAccessFileDirectMapped.java
trunk/joafip-file/src/test/java/net/sf/joafip/file/service/AbstractRandomFileTest.java
trunk/joafip-kvstore/src/main/java/net/sf/joafip/kvstore/service/AbstractHeapDataManager.java
trunk/joafip-kvstore/src/main/java/net/sf/joafip/kvstore/service/FileForStorable.java
trunk/joafip-parent/deploy_compiled_tested_by_eclipse.bat
trunk/joafip-parent/install_compiled_tested_by_eclipse.bat
trunk/joafip-testsuite/src/main/java/net/sf/joafip/InErrorTests.java
Added Paths:
-----------
trunk/joafip-file/src/main/java/net/sf/joafip/file/entity/ByteBufferNode.java
Removed Paths:
-------------
trunk/joafip-file/src/main/java/net/sf/joafip/file/entity/MappedByteBufferNode.java
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <luc...@us...> - 2012-05-12 00:19:40
|
Revision: 3085
http://joafip.svn.sourceforge.net/joafip/?rev=3085&view=rev
Author: luc_peuvrier
Date: 2012-05-12 00:19:32 +0000 (Sat, 12 May 2012)
Log Message:
-----------
file management optimization
Modified Paths:
--------------
trunk/joafip/src/main/java/net/sf/joafip/service/FilePersistencePropertiesReader.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/export_import/in/XmlImporter.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestExclusiveDataAccessSessionUsingProps.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/AbstractTestStoreMemoryLeak.java
trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWrite1GByteFileOutputStream.java
trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWrite1GByteFileOutputStreamMapped.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/stream/AbstractFileOutputStreamOnRandomFile.java
trunk/joafip-testsuite/src/main/java/net/sf/joafip/InErrorTests.java
Added Paths:
-----------
trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/AbstractWriteRead1Gbyte.java
trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWriteRead1GByteFileOutputStream.java
trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWriteRead1GByteFileOutputStreamNIO.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/stream/AbstractFileInputStreamOnRandomFile.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/stream/FileInputStreamNIO.java
Removed Paths:
-------------
trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/AbstractWrite1Gbyte.java
trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWrite1GByteFileOutputStreamNIO.java
Modified: trunk/joafip/src/main/java/net/sf/joafip/service/FilePersistencePropertiesReader.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/service/FilePersistencePropertiesReader.java 2012-05-11 03:46:15 UTC (rev 3084)
+++ trunk/joafip/src/main/java/net/sf/joafip/service/FilePersistencePropertiesReader.java 2012-05-12 00:19:32 UTC (rev 3085)
@@ -188,10 +188,8 @@
} else if ("mapped".equals(value)) {
fileAccessMode = EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS;
} else {
- throw new FilePersistenceException(
- "bad value \""
- + value
- + "\",random, nio, mapped2Gb, or mapped expected");
+ throw new FilePersistenceException("bad value \""
+ + value + "\",random, nio, or mapped expected");
}
filePersistenceProperties.setFileAccessMode(fileAccessMode);
} else if (JOAFIP_PATH.equals(key)) {
Modified: trunk/joafip/src/main/java/net/sf/joafip/store/service/export_import/in/XmlImporter.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/store/service/export_import/in/XmlImporter.java 2012-05-11 03:46:15 UTC (rev 3084)
+++ trunk/joafip/src/main/java/net/sf/joafip/store/service/export_import/in/XmlImporter.java 2012-05-12 00:19:32 UTC (rev 3085)
@@ -18,6 +18,7 @@
import java.io.File;
import java.io.IOException;
+import java.io.InputStream;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.Deque;
@@ -28,6 +29,7 @@
import javax.xml.parsers.SAXParserFactory;
import net.sf.joafip.NotStorableClass;
+import net.sf.joafip.file.service.stream.FileInputStreamNIO;
import net.sf.joafip.store.service.IStore;
import org.xml.sax.Attributes;
@@ -89,8 +91,9 @@
final XMLReader reader = saxParser.getXMLReader();
reader.setErrorHandler(new XmlReaderErrorHandler(this));
reader.setContentHandler(this);
- final String sourcePath = exportFile.toURI().toString();
- reader.parse(new InputSource(sourcePath));
+ // final String sourcePath = exportFile.toURI().toString();
+ final InputStream inputStream = new FileInputStreamNIO(exportFile);
+ reader.parse(new InputSource(inputStream));
} catch (SAXException exception) {
final String message = exception.getMessage();
final Exception embeddedException = exception.getException();
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestExclusiveDataAccessSessionUsingProps.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestExclusiveDataAccessSessionUsingProps.java 2012-05-11 03:46:15 UTC (rev 3084)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestExclusiveDataAccessSessionUsingProps.java 2012-05-12 00:19:32 UTC (rev 3085)
@@ -27,6 +27,7 @@
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
+import java.lang.reflect.Method;
import net.sf.joafip.AbstractDeleteFileTestCase;
import net.sf.joafip.NotStorableClass;
@@ -129,7 +130,7 @@
FilePersistenceDataCorruptedException, FileNotFoundException,
TestException {
initialize(new String[] {
- /**/"joafip.fileAccessMode=mapped2Gb",
+ /**/"joafip.fileAccessMode=mapped",
/**/"joafip.path=" + TestConstant.getWinRamDiskRuntimeDir(),
/**/"joafip.dataModelIdentifier=1",
/**/"joafip.proxyMode=enabled",
@@ -150,6 +151,9 @@
TestException {
initialize();
+ final Method method = Bob1.class.getDeclaredMethod(
+ "doSomethingOnOtherBob1Private", new Class<?>[] { Bob1.class });
+ filePersistence.addToNotCheckMethod(method);
dataAccessSession.open();
BobContainer bobContainer = initialBobContainer();
assertTrue("bobContainer be a proxy",
Modified: trunk/joafip/src/test/java/net/sf/joafip/store/service/AbstractTestStoreMemoryLeak.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/store/service/AbstractTestStoreMemoryLeak.java 2012-05-11 03:46:15 UTC (rev 3084)
+++ trunk/joafip/src/test/java/net/sf/joafip/store/service/AbstractTestStoreMemoryLeak.java 2012-05-12 00:19:32 UTC (rev 3085)
@@ -9,11 +9,13 @@
import net.sf.joafip.NotStorableClass;
import net.sf.joafip.StorableAccess;
import net.sf.joafip.TestException;
+import net.sf.joafip.file.service.RandomAccessFileDirectMapped;
import net.sf.joafip.file.service.RandomAccessFileReadWriteCache;
import net.sf.joafip.java.util.PTreeSet;
import net.sf.joafip.meminspector.service.MemInspectorException;
import net.sf.joafip.meminspector.service.inspect.MemInspector;
import net.sf.joafip.store.entity.StoreHeader;
+import net.sf.joafip.store.service.bytecode.proxy.CheckMethodListener;
@NotStorableClass
@StorableAccess
@@ -62,6 +64,8 @@
memInspector.setMainPackageName("net.sf.joafip");
memInspector.addExcludedClass(StoreHeader.class);
memInspector.addDoNotInspectClass(RandomAccessFileReadWriteCache.class);
+ memInspector.addDoNotInspectClass(RandomAccessFileDirectMapped.class);
+ memInspector.addExcludedClass(CheckMethodListener.class);
helperMemoryUse.log("start");
PTreeSet<String> set = new PTreeSet<String>();
set.add("a");
@@ -84,9 +88,13 @@
helperMemoryUse.log("added " + i);
memInspector.inspect(store, true);
if (memInspector.added()) {
+ // PrintStream stream = new PrintStream("logs"// NOPMD
+ // + File.separator + "log_mem_start.txt");
stream = new PrintStream("logs"// NOPMD
+ File.separator + "log_mem_leak.txt");
memInspector.log(stream);
+ memInspector.serialize(new File("logs" + File.separator// NOPMD
+ + "log_mem_leak.bin"));
stream.close();
fail("object stay in memory iteration #" + i);
}
Deleted: trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/AbstractWrite1Gbyte.java
===================================================================
--- trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/AbstractWrite1Gbyte.java 2012-05-11 03:46:15 UTC (rev 3084)
+++ trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/AbstractWrite1Gbyte.java 2012-05-12 00:19:32 UTC (rev 3085)
@@ -1,64 +0,0 @@
-/*
- * Copyright 2012 Luc Peuvrier
- * All rights reserved.
- *
- * 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.file.service;
-
-import java.io.OutputStream;
-
-/**
- *
- * @author luc peuvrier
- *
- */
-public abstract class AbstractWrite1Gbyte {
-
- private static final byte[] DATA = new byte[1024];
-
- private final OutputStream outputStream;
-
- public AbstractWrite1Gbyte(final OutputStream outputStream) {
- super();
- this.outputStream = outputStream;
- }
-
- /**
- *
- * @return mS 1 giga byte write duration
- * @throws Exception
- * @throws IOException
- */
- protected long write() throws Exception {// NOPMD
- int count = -1;
- try {
- final long beginTime = System.currentTimeMillis();
- for (count = 0; count < 1024 * 1024; count++) {
- outputStream.write(DATA);
- }
- outputStream.close();
- return System.currentTimeMillis() - beginTime;
- } catch (Exception exception) {
- throw new Exception("count " + count + ", size "// NOPMD
- + (count * DATA.length), exception);
- }
- }
-}
Copied: trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/AbstractWriteRead1Gbyte.java (from rev 3083, trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/AbstractWrite1Gbyte.java)
===================================================================
--- trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/AbstractWriteRead1Gbyte.java (rev 0)
+++ trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/AbstractWriteRead1Gbyte.java 2012-05-12 00:19:32 UTC (rev 3085)
@@ -0,0 +1,91 @@
+/*
+ * Copyright 2012 Luc Peuvrier
+ * All rights reserved.
+ *
+ * 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.file.service;
+
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.util.Arrays;
+
+/**
+ *
+ * @author luc peuvrier
+ *
+ */
+public abstract class AbstractWriteRead1Gbyte {
+
+ private static final byte[] DATA = new byte[1024];
+
+ static {
+ for (int index = 0; index < 1024; index++) {
+ DATA[index] = (byte) index;
+ }
+ }
+
+ /**
+ *
+ * @return mS 1 giga byte write duration
+ * @throws Exception
+ * @throws IOException
+ */
+ protected long write(final OutputStream outputStream) throws Exception {// NOPMD
+ int count = -1;
+ try {
+ final long beginTime = System.currentTimeMillis();
+ for (count = 0; count < 1024 * 1024; count++) {
+ outputStream.write(DATA);
+ }
+ outputStream.close();
+ return System.currentTimeMillis() - beginTime;
+ } catch (Exception exception) {
+ throw new Exception("count " + count + ", size "// NOPMD
+ + (count * DATA.length), exception);
+ }
+ }
+
+ protected long read(final InputStream inputStream) throws Exception {// NOPMD
+ int count = -1;
+ try {
+ final byte[] data = new byte[1024];
+ final long beginTime = System.currentTimeMillis();
+ for (count = 0; count < 1024 * 1024; count++) {
+ final int read = inputStream.read(data);
+ if (read != 1024) {
+ throw new Exception("must read 1024 bytes");// NOPMD
+ }
+ if (!Arrays.equals(data, DATA)) {
+ throw new Exception("bad data");// NOPMD
+ }
+ }
+ final int read = inputStream.read(data);
+ if (read != -1) {
+ throw new Exception("must be end of file");// NOPMD
+ }
+ inputStream.close();
+ return System.currentTimeMillis() - beginTime;
+ } catch (Exception exception) {
+ throw new Exception("count " + count + ", size "// NOPMD
+ + (count * DATA.length), exception);
+ }
+ }
+}
Modified: trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWrite1GByteFileOutputStream.java
===================================================================
--- trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWrite1GByteFileOutputStream.java 2012-05-11 03:46:15 UTC (rev 3084)
+++ trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWrite1GByteFileOutputStream.java 2012-05-12 00:19:32 UTC (rev 3085)
@@ -24,28 +24,33 @@
package net.sf.joafip.file.service;
import java.io.File;
+import java.io.FileInputStream;
import java.io.FileOutputStream;
+import java.io.InputStream;
import java.io.OutputStream;
+import net.sf.joafip.NotStorableClass;
+
/**
*
* @author luc peuvrier
*
*/
-public class MainWrite1GByteFileOutputStream extends AbstractWrite1Gbyte {
+@NotStorableClass
+public class MainWrite1GByteFileOutputStream extends AbstractWriteRead1Gbyte {
- public MainWrite1GByteFileOutputStream(final OutputStream outputStream) {
- super(outputStream);
- }
-
+ @SuppressWarnings("PMD")
public static void main(final String[] args) {
try {
final File file = new File("runtime/1gb.bin");
file.delete();
+ final MainWriteRead1GByteFileOutputStream main = new MainWriteRead1GByteFileOutputStream();
final OutputStream outputStream = new FileOutputStream(file);
- final MainWrite1GByteFileOutputStream main = new MainWrite1GByteFileOutputStream(
- outputStream);
- System.out.println("duration " + main.write() + " mS");// NOPMD
+ System.out.println("write duration " + main.write(outputStream)
+ + " mS");// NOPMD
+ final InputStream inputStream = new FileInputStream(file);
+ System.out.println("read duration " + main.read(inputStream)
+ + " mS");// NOPMD
} catch (Exception exception) {
exception.printStackTrace();// NOPMD
}
Modified: trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWrite1GByteFileOutputStreamMapped.java
===================================================================
--- trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWrite1GByteFileOutputStreamMapped.java 2012-05-11 03:46:15 UTC (rev 3084)
+++ trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWrite1GByteFileOutputStreamMapped.java 2012-05-12 00:19:32 UTC (rev 3085)
@@ -33,20 +33,18 @@
* @author luc peuvrier
*
*/
-public class MainWrite1GByteFileOutputStreamMapped extends AbstractWrite1Gbyte {
+public class MainWrite1GByteFileOutputStreamMapped extends
+ AbstractWriteRead1Gbyte {
- public MainWrite1GByteFileOutputStreamMapped(final OutputStream outputStream) {
- super(outputStream);
- }
-
+ @SuppressWarnings("PMD")
public static void main(final String[] args) {
try {
final File file = new File("runtime/1gb.bin");
file.delete();
+ final MainWrite1GByteFileOutputStreamMapped main = new MainWrite1GByteFileOutputStreamMapped();
final OutputStream outputStream = new FileOutputStreamMapped(file);
- final MainWrite1GByteFileOutputStreamMapped main = new MainWrite1GByteFileOutputStreamMapped(
- outputStream);
- System.out.println("duration " + main.write() + " mS");// NOPMD
+ System.out.println("write duration " + main.write(outputStream)
+ + " mS");// NOPMD
} catch (Exception exception) {
exception.printStackTrace();// NOPMD
}
Deleted: trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWrite1GByteFileOutputStreamNIO.java
===================================================================
--- trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWrite1GByteFileOutputStreamNIO.java 2012-05-11 03:46:15 UTC (rev 3084)
+++ trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWrite1GByteFileOutputStreamNIO.java 2012-05-12 00:19:32 UTC (rev 3085)
@@ -1,54 +0,0 @@
-/*
- * Copyright 2012 Luc Peuvrier
- * All rights reserved.
- *
- * 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.file.service;
-
-import java.io.File;
-import java.io.OutputStream;
-
-import net.sf.joafip.file.service.stream.FileOutputStreamNIO;
-
-/**
- *
- * @author luc peuvrier
- *
- */
-public class MainWrite1GByteFileOutputStreamNIO extends AbstractWrite1Gbyte {
-
- public MainWrite1GByteFileOutputStreamNIO(final OutputStream outputStream) {
- super(outputStream);
- }
-
- public static void main(final String[] args) {
- try {
- final File file = new File("runtime/1gb.bin");
- file.delete();
- final OutputStream outputStream = new FileOutputStreamNIO(file);
- final MainWrite1GByteFileOutputStreamNIO main = new MainWrite1GByteFileOutputStreamNIO(
- outputStream);
- System.out.println("duration " + main.write() + " mS");// NOPMD
- } catch (Exception exception) {
- exception.printStackTrace();// NOPMD
- }
- }
-}
Copied: trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWriteRead1GByteFileOutputStream.java (from rev 3083, trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWrite1GByteFileOutputStream.java)
===================================================================
--- trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWriteRead1GByteFileOutputStream.java (rev 0)
+++ trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWriteRead1GByteFileOutputStream.java 2012-05-12 00:19:32 UTC (rev 3085)
@@ -0,0 +1,59 @@
+/*
+ * Copyright 2012 Luc Peuvrier
+ * All rights reserved.
+ *
+ * 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.file.service;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.InputStream;
+import java.io.OutputStream;
+
+import net.sf.joafip.NotStorableClass;
+
+/**
+ *
+ * @author luc peuvrier
+ *
+ */
+@NotStorableClass
+public class MainWriteRead1GByteFileOutputStream extends
+ AbstractWriteRead1Gbyte {
+
+ @SuppressWarnings("PMD")
+ public static void main(final String[] args) {
+ try {
+ final File file = new File("runtime/1gb.bin");
+ file.delete();
+ final MainWriteRead1GByteFileOutputStream main = new MainWriteRead1GByteFileOutputStream();
+ final OutputStream outputStream = new FileOutputStream(file);
+ System.out.println("write duration " + main.write(outputStream)
+ + " mS");// NOPMD
+ final InputStream inputStream = new FileInputStream(file);
+ System.out.println("read duration " + main.read(inputStream)
+ + " mS");// NOPMD
+ } catch (Exception exception) {
+ exception.printStackTrace();// NOPMD
+ }
+ }
+}
Copied: trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWriteRead1GByteFileOutputStreamNIO.java (from rev 3083, trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWrite1GByteFileOutputStreamNIO.java)
===================================================================
--- trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWriteRead1GByteFileOutputStreamNIO.java (rev 0)
+++ trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWriteRead1GByteFileOutputStreamNIO.java 2012-05-12 00:19:32 UTC (rev 3085)
@@ -0,0 +1,57 @@
+/*
+ * Copyright 2012 Luc Peuvrier
+ * All rights reserved.
+ *
+ * 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.file.service;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.InputStream;
+import java.io.OutputStream;
+
+import net.sf.joafip.file.service.stream.FileOutputStreamNIO;
+
+/**
+ *
+ * @author luc peuvrier
+ *
+ */
+public class MainWriteRead1GByteFileOutputStreamNIO extends
+ AbstractWriteRead1Gbyte {
+
+ @SuppressWarnings("PMD")
+ public static void main(final String[] args) {
+ try {
+ final File file = new File("runtime/1gb.bin");
+ file.delete();
+ final MainWriteRead1GByteFileOutputStreamNIO main = new MainWriteRead1GByteFileOutputStreamNIO();
+ final OutputStream outputStream = new FileOutputStreamNIO(file);
+ System.out.println("write duration " + main.write(outputStream)
+ + " mS");// NOPMD
+ final InputStream inputStream = new FileInputStream(file);
+ System.out.println("read duration " + main.read(inputStream)
+ + " mS");// NOPMD
+ } catch (Exception exception) {
+ exception.printStackTrace();// NOPMD
+ }
+ }
+}
Added: trunk/joafip-file/src/main/java/net/sf/joafip/file/service/stream/AbstractFileInputStreamOnRandomFile.java
===================================================================
--- trunk/joafip-file/src/main/java/net/sf/joafip/file/service/stream/AbstractFileInputStreamOnRandomFile.java (rev 0)
+++ trunk/joafip-file/src/main/java/net/sf/joafip/file/service/stream/AbstractFileInputStreamOnRandomFile.java 2012-05-12 00:19:32 UTC (rev 3085)
@@ -0,0 +1,89 @@
+/*
+ * Copyright 2012 Luc Peuvrier
+ * All rights reserved.
+ *
+ * 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.file.service.stream;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import net.sf.joafip.NotStorableClass;
+import net.sf.joafip.file.service.FileIOException;
+import net.sf.joafip.file.service.IRandomAccessFile;
+
+/**
+ *
+ * @author luc peuvrier
+ *
+ */
+@NotStorableClass
+public abstract class AbstractFileInputStreamOnRandomFile extends InputStream {
+
+ private static final int BUFFER_SIZE = 1024 * 128;
+
+ private final byte[] buffer = new byte[BUFFER_SIZE];
+
+ private int bufferSize = 0;
+
+ private int inBufferIndex = 0;
+
+ private final IRandomAccessFile randomAccessFile;
+
+ public AbstractFileInputStreamOnRandomFile(
+ final IRandomAccessFile randomAccessFile) throws IOException {
+ super();
+ this.randomAccessFile = randomAccessFile;
+ try {
+ randomAccessFile.open();
+ } catch (FileIOException exception) {
+ throw new IOException(exception);
+ }
+ }
+
+ @Override
+ public void close() throws IOException {
+ try {
+ randomAccessFile.close();
+ } catch (FileIOException exception) {
+ throw new IOException(exception);
+ }
+ }
+
+ @Override
+ public int read() throws IOException {
+ if (inBufferIndex == bufferSize) {
+ try {
+ bufferSize = randomAccessFile.read(buffer, 0, BUFFER_SIZE);
+ } catch (FileIOException exception) {
+ throw new IOException(exception);
+ }
+ inBufferIndex = 0;
+ }
+ int read;
+ if (bufferSize == -1) {
+ read = -1;
+ } else {
+ read = buffer[inBufferIndex++] & 0xff;
+ }
+ return read;
+ }
+}
Modified: trunk/joafip-file/src/main/java/net/sf/joafip/file/service/stream/AbstractFileOutputStreamOnRandomFile.java
===================================================================
--- trunk/joafip-file/src/main/java/net/sf/joafip/file/service/stream/AbstractFileOutputStreamOnRandomFile.java 2012-05-11 03:46:15 UTC (rev 3084)
+++ trunk/joafip-file/src/main/java/net/sf/joafip/file/service/stream/AbstractFileOutputStreamOnRandomFile.java 2012-05-12 00:19:32 UTC (rev 3085)
@@ -35,7 +35,7 @@
*
*/
@NotStorableClass
-public class AbstractFileOutputStreamOnRandomFile extends OutputStream {
+public abstract class AbstractFileOutputStreamOnRandomFile extends OutputStream {
private static final int BUFFER_SIZE = 1024 * 128;
Added: trunk/joafip-file/src/main/java/net/sf/joafip/file/service/stream/FileInputStreamNIO.java
===================================================================
--- trunk/joafip-file/src/main/java/net/sf/joafip/file/service/stream/FileInputStreamNIO.java (rev 0)
+++ trunk/joafip-file/src/main/java/net/sf/joafip/file/service/stream/FileInputStreamNIO.java 2012-05-12 00:19:32 UTC (rev 3085)
@@ -0,0 +1,47 @@
+/*
+ * Copyright 2012 Luc Peuvrier
+ * All rights reserved.
+ *
+ * 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.file.service.stream;
+
+import java.io.File;
+import java.io.IOException;
+
+import net.sf.joafip.NotStorableClass;
+import net.sf.joafip.file.service.RandomAccessFileDirectNio;
+
+/**
+ *
+ * @author luc peuvrier
+ *
+ */
+@NotStorableClass
+public class FileInputStreamNIO extends AbstractFileInputStreamOnRandomFile {
+
+ public FileInputStreamNIO(final File file) throws IOException {
+ super(new RandomAccessFileDirectNio(file, 1, 0));
+ }
+
+ public FileInputStreamNIO(final String name) throws IOException {
+ this(name == null ? null : new File(name));
+ }
+}
Modified: trunk/joafip-testsuite/src/main/java/net/sf/joafip/InErrorTests.java
===================================================================
--- trunk/joafip-testsuite/src/main/java/net/sf/joafip/InErrorTests.java 2012-05-11 03:46:15 UTC (rev 3084)
+++ trunk/joafip-testsuite/src/main/java/net/sf/joafip/InErrorTests.java 2012-05-12 00:19:32 UTC (rev 3085)
@@ -24,10 +24,8 @@
import junit.framework.Test;
import junit.framework.TestSuite;
-import net.sf.joafip.btreeplus.service.TestBtreePlusDataManager;
-import net.sf.joafip.btreeplus.service.TestBtreePlusDataManagerBackup;
-import net.sf.joafip.btreeplus.service.TestBtreePlusDataMgrWithKey;
-import net.sf.joafip.btreeplus.service.TestBtreePlusDataMgrWithScenario;
+import net.sf.joafip.store.service.TestStoreMemoryLeakNoCacheGarbage;
+import net.sf.joafip.store.service.TestStoreMemoryLeakNoCacheNoGarbage;
/**
*
@@ -44,10 +42,8 @@
public static Test suite() {
final TestSuite suite = new TestSuite("in error Tests");
// $JUnit-BEGIN$
- suite.addTestSuite(TestBtreePlusDataManager.class);
- suite.addTestSuite(TestBtreePlusDataManagerBackup.class);
- suite.addTestSuite(TestBtreePlusDataMgrWithKey.class);
- suite.addTestSuite(TestBtreePlusDataMgrWithScenario.class);
+ suite.addTestSuite(TestStoreMemoryLeakNoCacheGarbage.class);
+ suite.addTestSuite(TestStoreMemoryLeakNoCacheNoGarbage.class);
// suite.addTest(xxxx.suite());
// $JUnit-END$
return suite;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <luc...@us...> - 2012-05-12 00:19:39
|
Revision: 3085
http://joafip.svn.sourceforge.net/joafip/?rev=3085&view=rev
Author: luc_peuvrier
Date: 2012-05-12 00:19:32 +0000 (Sat, 12 May 2012)
Log Message:
-----------
file management optimization
Modified Paths:
--------------
trunk/joafip/src/main/java/net/sf/joafip/service/FilePersistencePropertiesReader.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/export_import/in/XmlImporter.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestExclusiveDataAccessSessionUsingProps.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/AbstractTestStoreMemoryLeak.java
trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWrite1GByteFileOutputStream.java
trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWrite1GByteFileOutputStreamMapped.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/stream/AbstractFileOutputStreamOnRandomFile.java
trunk/joafip-testsuite/src/main/java/net/sf/joafip/InErrorTests.java
Added Paths:
-----------
trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/AbstractWriteRead1Gbyte.java
trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWriteRead1GByteFileOutputStream.java
trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWriteRead1GByteFileOutputStreamNIO.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/stream/AbstractFileInputStreamOnRandomFile.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/stream/FileInputStreamNIO.java
Removed Paths:
-------------
trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/AbstractWrite1Gbyte.java
trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWrite1GByteFileOutputStreamNIO.java
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <luc...@us...> - 2012-05-11 03:46:22
|
Revision: 3084
http://joafip.svn.sourceforge.net/joafip/?rev=3084&view=rev
Author: luc_peuvrier
Date: 2012-05-11 03:46:15 +0000 (Fri, 11 May 2012)
Log Message:
-----------
todo update
Modified Paths:
--------------
trunk/joafip/doc/_todo.txt
Modified: trunk/joafip/doc/_todo.txt
===================================================================
--- trunk/joafip/doc/_todo.txt 2012-05-11 03:41:49 UTC (rev 3083)
+++ trunk/joafip/doc/_todo.txt 2012-05-11 03:46:15 UTC (rev 3084)
@@ -108,6 +108,10 @@
? alternative to garbage: remove object by program
+auto clean when corrupted file detected
+- move corrupted file, ignore errors
+- for crash safe mode try to recover from second file
+
export:
- no more static field management
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <luc...@us...> - 2012-05-11 03:46:22
|
Revision: 3084
http://joafip.svn.sourceforge.net/joafip/?rev=3084&view=rev
Author: luc_peuvrier
Date: 2012-05-11 03:46:15 +0000 (Fri, 11 May 2012)
Log Message:
-----------
todo update
Modified Paths:
--------------
trunk/joafip/doc/_todo.txt
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <luc...@us...> - 2012-05-11 03:41:59
|
Revision: 3083
http://joafip.svn.sourceforge.net/joafip/?rev=3083&view=rev
Author: luc_peuvrier
Date: 2012-05-11 03:41:49 +0000 (Fri, 11 May 2012)
Log Message:
-----------
mapped random file access: bug corrected could have out of memory
Modified Paths:
--------------
trunk/joafip/src/main/java/net/sf/joafip/service/FilePersistencePropertiesReader.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/export_import/out/XmlExporter.java
trunk/joafip/src/test/java/net/sf/joafip/service/AbstractTestCustomObjectIO.java
trunk/joafip/src/test/java/net/sf/joafip/service/AbstractTestSerializable.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestBobSerializeStackOverflow.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestClear.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestCrashSafe.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestExportImport.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestExportObject.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestFilePersistenceNoG.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestFilePersistenceOpenClose.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestFilePersistenceWithG.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestInnerClassProxy.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestMultiAccessFilePersistence.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestMultipleFilePersistenceInstance.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestSaveFailureDoNotModifyStorage.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestStoreNotStorable.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestVisitedModified.java
trunk/joafip/src/test/java/net/sf/joafip/service/bug/AbstractFileCheckPersistenceForTest.java
trunk/joafip/src/test/java/net/sf/joafip/service/bug/AbstractFilePersistenceForTest.java
trunk/joafip/src/test/java/net/sf/joafip/service/bug/TestBugChangeLog.java
trunk/joafip/src/test/java/net/sf/joafip/service/bug/TestGarbageModeError.java
trunk/joafip/src/test/java/net/sf/joafip/service/bug/TestRootObjectMapAutoSave.java
trunk/joafip/src/test/java/net/sf/joafip/service/bug/TestSerializeAndNotLazy1.java
trunk/joafip/src/test/java/net/sf/joafip/service/bug/TestSerializeAndNotLazy2.java
trunk/joafip/src/test/java/net/sf/joafip/service/bug/primitive/TestHoldPrimitive.java
trunk/joafip/src/test/java/net/sf/joafip/service/bug/savenum/TestEnumKeptInMemory.java
trunk/joafip/src/test/java/net/sf/joafip/service/bug/savenum/TestEnumPersistence.java
trunk/joafip/src/test/java/net/sf/joafip/service/joafip_for_test.properties
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestArraySerialization.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestClassLoaderPersistence.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestImport222.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestImport222NotLazy.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestKeptInMemory.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestSubstitutionSerialize.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestSubstitutionSerializeReadWriteMethod.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestSubstitutionSubstitutedSerializable.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestSubstitutionWithDataAccessSession.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestThisInConstructor.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestUseRuntime222.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestUseRuntime222NotLazy.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel301/TestImport300.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel301/TestUseRuntime300Lazy.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel301/TestUseRuntime300NotLazy.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel310/TestImport301ConversionA.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel310/TestImport301ConversionB.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel310/TestUseRuntime301LazyConversionA.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel310/TestUseRuntime301LazyConversionB.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel310/TestUseRuntime301NotLazyConversionA.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel310/TestUseRuntime301NotLazyConversionB.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestAutoSave.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestEnumMap.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestFileManagementOptions.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestInstanceFactoryUsage.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestPHashMapNewInstance.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestPrivateAccess.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestRuntime310Garbage.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestSaveInExclusiveDataAccessSession.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestStoredImmutableEnum.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestTreeMapIteratorAutoSave.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestTreeSetIteratorAutoSave.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestTreeSupportIterator.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestTreeSupportIteratorAutoSave.java
trunk/joafip/src/test/java/net/sf/joafip/service/sync/TestSynchronizedCollection.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/StoreForTest.java
trunk/joafip-4test/src/main/java/net/sf/joafip/performance/items/service/AbstractPerfService.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/entity/ToWriteIterator.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/RandomAccessFileDirectMapped.java
trunk/joafip-kvstore/src/main/java/net/sf/joafip/kvstore/entity/EnumFileAccessMode.java
trunk/joafip-kvstore/src/main/java/net/sf/joafip/kvstore/service/FileForStorable.java
trunk/joafip-meminspector/src/main/java/net/sf/joafip/meminspector/service/inspect/MemInspector.java
trunk/joafip-testsuite/src/main/java/net/sf/joafip/file/FileTests.java
Added Paths:
-----------
trunk/joafip-4test/src/main/java/net/sf/joafip/file/
trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/
trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/AbstractWrite1Gbyte.java
trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWrite1GByteFileOutputStream.java
trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWrite1GByteFileOutputStreamMapped.java
trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWrite1GByteFileOutputStreamNIO.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/entity/MappedByteBufferNode.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/stream/
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/stream/AbstractFileOutputStreamOnRandomFile.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/stream/FileOutputStreamMapped.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/stream/FileOutputStreamNIO.java
Removed Paths:
-------------
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/FileOutputStreamNIO.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/RandomAccessFileDirectMapped2GBLimited.java
trunk/joafip-file/src/test/java/net/sf/joafip/file/service/RandomFileDirectMapped2GBLimitedTest.java
Modified: trunk/joafip/src/main/java/net/sf/joafip/service/FilePersistencePropertiesReader.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/service/FilePersistencePropertiesReader.java 2012-05-09 04:56:39 UTC (rev 3082)
+++ trunk/joafip/src/main/java/net/sf/joafip/service/FilePersistencePropertiesReader.java 2012-05-11 03:41:49 UTC (rev 3083)
@@ -185,8 +185,6 @@
fileAccessMode = EnumFileAccessMode.RANDOM_FILE_ACCESS;
} else if ("nio".equals(value)) {
fileAccessMode = EnumFileAccessMode.NIO_RANDOM_FILE_ACCESS;
- } else if ("mapped2Gb".equals(value)) {
- fileAccessMode = EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX;
} else if ("mapped".equals(value)) {
fileAccessMode = EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS;
} else {
Modified: trunk/joafip/src/main/java/net/sf/joafip/store/service/export_import/out/XmlExporter.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/store/service/export_import/out/XmlExporter.java 2012-05-09 04:56:39 UTC (rev 3082)
+++ trunk/joafip/src/main/java/net/sf/joafip/store/service/export_import/out/XmlExporter.java 2012-05-11 03:41:49 UTC (rev 3083)
@@ -23,7 +23,7 @@
import java.io.OutputStream;
import net.sf.joafip.NotStorableClass;
-import net.sf.joafip.file.service.FileOutputStreamNIO;
+import net.sf.joafip.file.service.stream.FileOutputStreamNIO;
import net.sf.joafip.kvstore.record.entity.DataRecordIdentifier;
import net.sf.joafip.store.entity.classinfo.ClassInfo;
import net.sf.joafip.store.service.IStore;
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/AbstractTestCustomObjectIO.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/AbstractTestCustomObjectIO.java 2012-05-09 04:56:39 UTC (rev 3082)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/AbstractTestCustomObjectIO.java 2012-05-11 03:41:49 UTC (rev 3083)
@@ -50,7 +50,7 @@
// /**/false/* do not remove files */,
// /**/false/* do not manage garbage */);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(path.getPath());
builder.setProxyMode(true);
builder.setRemoveFiles(false);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/AbstractTestSerializable.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/AbstractTestSerializable.java 2012-05-09 04:56:39 UTC (rev 3082)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/AbstractTestSerializable.java 2012-05-11 03:41:49 UTC (rev 3083)
@@ -62,7 +62,7 @@
// /**/false/* do not remove files */,
// /**/false/* do not manage garbage */);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(path.getPath());
builder.setProxyMode(true);
builder.setRemoveFiles(false);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/TestBobSerializeStackOverflow.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/TestBobSerializeStackOverflow.java 2012-05-09 04:56:39 UTC (rev 3082)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/TestBobSerializeStackOverflow.java 2012-05-11 03:41:49 UTC (rev 3083)
@@ -61,7 +61,7 @@
protected void setUp() throws Exception { // NOPMD
super.setUp();
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(path.getPath());
builder.setProxyMode(true);
builder.setRemoveFiles(false);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/TestClear.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/TestClear.java 2012-05-09 04:56:39 UTC (rev 3082)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/TestClear.java 2012-05-11 03:41:49 UTC (rev 3083)
@@ -58,7 +58,7 @@
// /**/false/* do not remove files */,
// /**/false/* do not manage garbage */);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(path.getPath());
builder.setProxyMode(true);
builder.setRemoveFiles(false);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/TestCrashSafe.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/TestCrashSafe.java 2012-05-09 04:56:39 UTC (rev 3082)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/TestCrashSafe.java 2012-05-11 03:41:49 UTC (rev 3083)
@@ -171,7 +171,7 @@
// filePersistence = new FilePersistence(1, null,
// TestConstant.getRuntimeDir(), false, false);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(TestConstant.getWinRamDiskRuntimeDir());
builder.setProxyMode(true);
builder.setRemoveFiles(false);
@@ -201,7 +201,7 @@
// filePersistence = new FilePersistence(1, null,
// TestConstant.getRuntimeDir(), false, false);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(TestConstant.getWinRamDiskRuntimeDir());
builder.setProxyMode(true);
builder.setRemoveFiles(false);
@@ -227,7 +227,7 @@
// filePersistence = new FilePersistence(1, null,
// TestConstant.getRuntimeDir(), false, false);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(TestConstant.getWinRamDiskRuntimeDir());
builder.setProxyMode(true);
builder.setRemoveFiles(false);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/TestExportImport.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/TestExportImport.java 2012-05-09 04:56:39 UTC (rev 3082)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/TestExportImport.java 2012-05-11 03:41:49 UTC (rev 3083)
@@ -69,7 +69,7 @@
// filePersistence = new FilePersistence(1, null,
// TestConstant.getRuntimeDir(), true, false);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(TestConstant.getWinRamDiskRuntimeDir());
builder.setProxyMode(true);
builder.setRemoveFiles(true);
@@ -165,7 +165,7 @@
// filePersistence = new FilePersistence(1, null, RUNTIME, true, false);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
builder.setPathName(TestConstant.getWinRamDiskRuntimeDir());
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setProxyMode(true);
builder.setRemoveFiles(true);
builder.setGarbageManagement(false);
@@ -275,7 +275,7 @@
filePersistence.close();
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(TestConstant.getWinRamDiskRuntimeDir());
builder.setProxyMode(true);
builder.setRemoveFiles(true);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/TestExportObject.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/TestExportObject.java 2012-05-09 04:56:39 UTC (rev 3082)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/TestExportObject.java 2012-05-11 03:41:49 UTC (rev 3083)
@@ -74,7 +74,7 @@
// filePersistence = new FilePersistence(1, null,
// TestConstant.getRuntimeDir(), true, false);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(TestConstant.getWinRamDiskRuntimeDir());
builder.setProxyMode(true);
builder.setRemoveFiles(true);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/TestFilePersistenceNoG.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/TestFilePersistenceNoG.java 2012-05-09 04:56:39 UTC (rev 3082)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/TestFilePersistenceNoG.java 2012-05-11 03:41:49 UTC (rev 3083)
@@ -27,7 +27,7 @@
// /**/false/* do not remove files */,
// /**/false/* do not manage garbage */);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(path.getPath());
builder.setProxyMode(true);
builder.setRemoveFiles(false);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/TestFilePersistenceOpenClose.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/TestFilePersistenceOpenClose.java 2012-05-09 04:56:39 UTC (rev 3082)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/TestFilePersistenceOpenClose.java 2012-05-11 03:41:49 UTC (rev 3083)
@@ -120,7 +120,7 @@
// /**/false/* do not remove files */,
// /**/true/* manage garbage */);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(path.getPath());
builder.setProxyMode(true);
builder.setRemoveFiles(false);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/TestFilePersistenceWithG.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/TestFilePersistenceWithG.java 2012-05-09 04:56:39 UTC (rev 3082)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/TestFilePersistenceWithG.java 2012-05-11 03:41:49 UTC (rev 3083)
@@ -24,7 +24,7 @@
// /**/false/* do not remove files */,
// /**/true/* manage garbage */);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(path.getPath());
builder.setProxyMode(true);
builder.setRemoveFiles(false);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/TestInnerClassProxy.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/TestInnerClassProxy.java 2012-05-09 04:56:39 UTC (rev 3082)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/TestInnerClassProxy.java 2012-05-11 03:41:49 UTC (rev 3083)
@@ -66,7 +66,7 @@
// final FilePersistence filePersistence = new FilePersistence(1, null,
// TestConstant.getRuntimeDir(), true, false);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(TestConstant.getWinRamDiskRuntimeDir());
builder.setProxyMode(true);
builder.setRemoveFiles(false);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/TestMultiAccessFilePersistence.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/TestMultiAccessFilePersistence.java 2012-05-09 04:56:39 UTC (rev 3082)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/TestMultiAccessFilePersistence.java 2012-05-11 03:41:49 UTC (rev 3083)
@@ -54,7 +54,7 @@
// /**/true/* remove files */,
// /**/true/* manage garbage */);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(path.getPath());
builder.setProxyMode(true);
builder.setRemoveFiles(false);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/TestMultipleFilePersistenceInstance.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/TestMultipleFilePersistenceInstance.java 2012-05-09 04:56:39 UTC (rev 3082)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/TestMultipleFilePersistenceInstance.java 2012-05-11 03:41:49 UTC (rev 3083)
@@ -110,7 +110,7 @@
// filePersistence = new FilePersistence(1, null,
// TestConstant.getRuntimeDir(), false, false);
FilePersistenceBuilder builder = new FilePersistenceBuilder();
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(TestConstant.getWinRamDiskRuntimeDir());
builder.setProxyMode(true);
builder.setRemoveFiles(false);
@@ -126,7 +126,7 @@
// filePersistence = new FilePersistence(1, null,
// TestConstant.getRuntimeDir(), false, false);
builder = new FilePersistenceBuilder();
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(TestConstant.getWinRamDiskRuntimeDir());
builder.setProxyMode(true);
builder.setRemoveFiles(false);
@@ -164,7 +164,7 @@
// filePersistence = new FilePersistence(1, null,
// TestConstant.getRuntimeDir(), false, false);
FilePersistenceBuilder builder = new FilePersistenceBuilder();
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(TestConstant.getWinRamDiskRuntimeDir());
builder.setProxyMode(true);
builder.setRemoveFiles(false);
@@ -185,7 +185,7 @@
// filePersistence = new FilePersistence(1, null,
// TestConstant.getRuntimeDir(), false, false);
builder = new FilePersistenceBuilder();
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(TestConstant.getWinRamDiskRuntimeDir());
builder.setProxyMode(true);
builder.setRemoveFiles(false);
@@ -223,7 +223,7 @@
// filePersistence = new FilePersistence(1, null,
// TestConstant.getRuntimeDir(), false, false);
FilePersistenceBuilder builder = new FilePersistenceBuilder();
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(TestConstant.getWinRamDiskRuntimeDir());
builder.setProxyMode(true);
builder.setRemoveFiles(false);
@@ -245,7 +245,7 @@
// filePersistence = new FilePersistence(1, null,
// TestConstant.getRuntimeDir(), false, false);
builder = new FilePersistenceBuilder();
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(TestConstant.getWinRamDiskRuntimeDir());
builder.setProxyMode(true);
builder.setRemoveFiles(false);
@@ -282,7 +282,7 @@
// filePersistence = new FilePersistence(1, null,
// TestConstant.getRuntimeDir(), true, true);
FilePersistenceBuilder builder = new FilePersistenceBuilder();
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(TestConstant.getWinRamDiskRuntimeDir());
builder.setProxyMode(true);
builder.setRemoveFiles(true);
@@ -298,7 +298,7 @@
// filePersistence = new FilePersistence(1, null,
// TestConstant.getRuntimeDir(), true, false);
builder = new FilePersistenceBuilder();
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(TestConstant.getWinRamDiskRuntimeDir());
builder.setProxyMode(true);
builder.setRemoveFiles(false);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/TestSaveFailureDoNotModifyStorage.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/TestSaveFailureDoNotModifyStorage.java 2012-05-09 04:56:39 UTC (rev 3082)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/TestSaveFailureDoNotModifyStorage.java 2012-05-11 03:41:49 UTC (rev 3083)
@@ -65,7 +65,7 @@
// /**/false/* do not remove files */,
// /**/false/* do not manage garbage */);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(path.getPath());
builder.setProxyMode(true);
builder.setRemoveFiles(false);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/TestStoreNotStorable.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/TestStoreNotStorable.java 2012-05-09 04:56:39 UTC (rev 3082)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/TestStoreNotStorable.java 2012-05-11 03:41:49 UTC (rev 3083)
@@ -54,7 +54,7 @@
// /**/false/* do not remove files */,
// /**/false/* do not manage garbage */);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(path.getPath());
builder.setProxyMode(true);
builder.setRemoveFiles(false);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/TestVisitedModified.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/TestVisitedModified.java 2012-05-09 04:56:39 UTC (rev 3082)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/TestVisitedModified.java 2012-05-11 03:41:49 UTC (rev 3083)
@@ -67,7 +67,7 @@
// /**/false/* do not remove files */,
// /**/false/* do not manage garbage */);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(path.getPath());
builder.setProxyMode(true);
builder.setRemoveFiles(false);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/bug/AbstractFileCheckPersistenceForTest.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/bug/AbstractFileCheckPersistenceForTest.java 2012-05-09 04:56:39 UTC (rev 3082)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/bug/AbstractFileCheckPersistenceForTest.java 2012-05-11 03:41:49 UTC (rev 3083)
@@ -56,7 +56,7 @@
// * crash safe
// */);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(TestConstant.getWinRamDiskRuntimeDir());
builder.setProxyMode(true);
builder.setRemoveFiles(false);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/bug/AbstractFilePersistenceForTest.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/bug/AbstractFilePersistenceForTest.java 2012-05-09 04:56:39 UTC (rev 3082)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/bug/AbstractFilePersistenceForTest.java 2012-05-11 03:41:49 UTC (rev 3083)
@@ -49,7 +49,7 @@
super.setUp();
// filePersistence = new FilePersistence(1, null, path, false, true);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(path.getPath());
builder.setRemoveFiles(false);
builder.setGarbageManagement(true);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/bug/TestBugChangeLog.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/bug/TestBugChangeLog.java 2012-05-09 04:56:39 UTC (rev 3082)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/bug/TestBugChangeLog.java 2012-05-11 03:41:49 UTC (rev 3083)
@@ -155,7 +155,7 @@
// /**/nombreDePageDuCacheDisque/* number of page */,
// /**/false /* pas de gestion garbage */,
// /**/crashSafeMode/* crash safe mode activé */);
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(repertoireDonnees);
builder.setFileCache(taillePageCacheDisque,
nombreDePageDuCacheDisque);
@@ -169,7 +169,7 @@
// /**/false /* efface pas les fichiers */,
// /**/false /* pas de gestion garbage */,
// /**/crashSafeMode/* crash safe mode activé */);
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(repertoireDonnees);
builder.setProxyMode(true);
builder.setRemoveFiles(false);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/bug/TestGarbageModeError.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/bug/TestGarbageModeError.java 2012-05-09 04:56:39 UTC (rev 3082)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/bug/TestGarbageModeError.java 2012-05-11 03:41:49 UTC (rev 3083)
@@ -95,7 +95,7 @@
// filePersistence = new FilePersistence(1, null,
// TestConstant.getRuntimeDir(), false, true);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(TestConstant.getWinRamDiskRuntimeDir());
builder.setProxyMode(true);
builder.setRemoveFiles(false);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/bug/TestRootObjectMapAutoSave.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/bug/TestRootObjectMapAutoSave.java 2012-05-09 04:56:39 UTC (rev 3082)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/bug/TestRootObjectMapAutoSave.java 2012-05-11 03:41:49 UTC (rev 3083)
@@ -69,7 +69,7 @@
// /**/false/* garbageManagement */,
// /**/false/* crash safe mode */);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(path.getAbsolutePath());
builder.setProxyMode(true);
builder.setRemoveFiles(true);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/bug/TestSerializeAndNotLazy1.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/bug/TestSerializeAndNotLazy1.java 2012-05-09 04:56:39 UTC (rev 3082)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/bug/TestSerializeAndNotLazy1.java 2012-05-11 03:41:49 UTC (rev 3083)
@@ -53,7 +53,7 @@
// filePersistence = new FilePersistence(1, null, path,
// /**/true/* removeFile */, true/* garbageManagement */);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(path.getPath());
builder.setProxyMode(true);
builder.setRemoveFiles(true);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/bug/TestSerializeAndNotLazy2.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/bug/TestSerializeAndNotLazy2.java 2012-05-09 04:56:39 UTC (rev 3082)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/bug/TestSerializeAndNotLazy2.java 2012-05-11 03:41:49 UTC (rev 3083)
@@ -55,7 +55,7 @@
// /**/false/* proxyMode */,
// /**/true/* garbageManagement */);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(path.getPath());
builder.setProxyMode(false);
builder.setRemoveFiles(true);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/bug/primitive/TestHoldPrimitive.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/bug/primitive/TestHoldPrimitive.java 2012-05-09 04:56:39 UTC (rev 3082)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/bug/primitive/TestHoldPrimitive.java 2012-05-11 03:41:49 UTC (rev 3083)
@@ -236,7 +236,7 @@
final String xpath = path.getAbsolutePath();
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(xpath);
builder.setRemoveFiles(removeFiles);
builder.setFileCache(taillePageCacheDisque, nombreDePageDuCacheDisque);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/bug/savenum/TestEnumKeptInMemory.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/bug/savenum/TestEnumKeptInMemory.java 2012-05-09 04:56:39 UTC (rev 3082)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/bug/savenum/TestEnumKeptInMemory.java 2012-05-11 03:41:49 UTC (rev 3083)
@@ -80,7 +80,7 @@
final String xpath = path.getAbsolutePath();
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(xpath);
builder.setRemoveFiles(removeFiles);
builder.setFileCache(taillePageCacheDisque, nombreDePageDuCacheDisque);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/bug/savenum/TestEnumPersistence.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/bug/savenum/TestEnumPersistence.java 2012-05-09 04:56:39 UTC (rev 3082)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/bug/savenum/TestEnumPersistence.java 2012-05-11 03:41:49 UTC (rev 3083)
@@ -81,7 +81,7 @@
final String xpath = path.getAbsolutePath();
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(xpath);
builder.setRemoveFiles(removeFiles);
builder.setFileCache(taillePageCacheDisque, nombreDePageDuCacheDisque);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/joafip_for_test.properties
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/joafip_for_test.properties 2012-05-09 04:56:39 UTC (rev 3082)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/joafip_for_test.properties 2012-05-11 03:41:49 UTC (rev 3083)
@@ -16,7 +16,7 @@
joafip.zipCompressionLevel=9
joafip.substitutionOfJavaUtilCollection=enabled
#joafip.substitutionOfJavaUtilCollection=disabled
-joafip.fileAccessMode=mapped2Gb
+joafip.fileAccessMode=mapped
#joafip.substitute.<to substitute class name>=<substitute class name>,<synchronizer class name>
joafip.substitute.net.sf.joafip.store.service.objectfortest.Bob1=net.sf.joafip.store.service.objectfortest.Bob1Substitute,net.sf.joafip.store.service.objectfortest.Bob1Synchronizer
#joafip.storeMode.<path class>=<mode>
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestArraySerialization.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestArraySerialization.java 2012-05-09 04:56:39 UTC (rev 3082)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestArraySerialization.java 2012-05-11 03:41:49 UTC (rev 3083)
@@ -68,7 +68,7 @@
super.setUp();
// filePersistence = new FilePersistence(1, null, path, true, false);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(path.getPath());
builder.setProxyMode(true);
builder.setRemoveFiles(false);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestClassLoaderPersistence.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestClassLoaderPersistence.java 2012-05-09 04:56:39 UTC (rev 3082)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestClassLoaderPersistence.java 2012-05-11 03:41:49 UTC (rev 3083)
@@ -68,7 +68,7 @@
// /**/true/* remove files */,
// /**/false/* do not manage garbage */);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(path.getPath());
builder.setProxyMode(true);
builder.setRemoveFiles(true);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestImport222.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestImport222.java 2012-05-09 04:56:39 UTC (rev 3082)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestImport222.java 2012-05-11 03:41:49 UTC (rev 3083)
@@ -59,7 +59,7 @@
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
builder.setDataModelIdentifier(1);
builder.setDataModelConversionDefInputStream(inputStreamAndSource);
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(path.getPath());
builder.setProxyMode(true);
builder.setRemoveFiles(true);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestImport222NotLazy.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestImport222NotLazy.java 2012-05-09 04:56:39 UTC (rev 3082)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestImport222NotLazy.java 2012-05-11 03:41:49 UTC (rev 3083)
@@ -59,7 +59,7 @@
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
builder.setDataModelIdentifier(1);
builder.setDataModelConversionDefInputStream(inputStreamAndSource);
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(path.getPath());
builder.setProxyMode(false);
builder.setRemoveFiles(true);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestKeptInMemory.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestKeptInMemory.java 2012-05-09 04:56:39 UTC (rev 3082)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestKeptInMemory.java 2012-05-11 03:41:49 UTC (rev 3083)
@@ -77,7 +77,7 @@
// /**/true/* remove files */,
// /**/false/* do not manage garbage */);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(TestConstant.getWinRamDiskRuntimeDir());
builder.setProxyMode(true);
builder.setRemoveFiles(false);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestSubstitutionSerialize.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestSubstitutionSerialize.java 2012-05-09 04:56:39 UTC (rev 3082)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestSubstitutionSerialize.java 2012-05-11 03:41:49 UTC (rev 3083)
@@ -85,7 +85,7 @@
super.setUp();
// filePersistence = new FilePersistence(1, null, path, true, false);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(TestConstant.getWinRamDiskRuntimeDir());
builder.setProxyMode(true);
builder.setRemoveFiles(true);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestSubstitutionSerializeReadWriteMethod.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestSubstitutionSerializeReadWriteMethod.java 2012-05-09 04:56:39 UTC (rev 3082)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestSubstitutionSerializeReadWriteMethod.java 2012-05-11 03:41:49 UTC (rev 3083)
@@ -86,7 +86,7 @@
super.setUp();
// filePersistence = new FilePersistence(1, null, path, true, false);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(TestConstant.getWinRamDiskRuntimeDir());
builder.setProxyMode(true);
builder.setRemoveFiles(true);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestSubstitutionSubstitutedSerializable.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestSubstitutionSubstitutedSerializable.java 2012-05-09 04:56:39 UTC (rev 3082)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestSubstitutionSubstitutedSerializable.java 2012-05-11 03:41:49 UTC (rev 3083)
@@ -85,7 +85,7 @@
super.setUp();
// filePersistence = new FilePersistence(1, null, path, true, false);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(path.getPath());
builder.setProxyMode(true);
builder.setRemoveFiles(true);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestSubstitutionWithDataAccessSession.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestSubstitutionWithDataAccessSession.java 2012-05-09 04:56:39 UTC (rev 3082)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestSubstitutionWithDataAccessSession.java 2012-05-11 03:41:49 UTC (rev 3083)
@@ -83,7 +83,7 @@
super.setUp();
// filePersistence = new FilePersistence(1, null, path, true, false);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(path.getPath());
builder.setProxyMode(true);
builder.setRemoveFiles(true);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestThisInConstructor.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestThisInConstructor.java 2012-05-09 04:56:39 UTC (rev 3082)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestThisInConstructor.java 2012-05-11 03:41:49 UTC (rev 3083)
@@ -67,7 +67,7 @@
super.setUp();
// filePersistence = new FilePersistence(1, null, path, true, false);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(path.getPath());
builder.setProxyMode(true);
builder.setRemoveFiles(true);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestUseRuntime222.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestUseRuntime222.java 2012-05-09 04:56:39 UTC (rev 3082)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestUseRuntime222.java 2012-05-11 03:41:49 UTC (rev 3083)
@@ -63,7 +63,7 @@
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
builder.setDataModelIdentifier(1);
builder.setDataModelConversionDefInputStream(inputStream);
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(path.getPath());
builder.setProxyMode(true);
builder.setRemoveFiles(false);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestUseRuntime222NotLazy.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestUseRuntime222NotLazy.java 2012-05-09 04:56:39 UTC (rev 3082)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestUseRuntime222NotLazy.java 2012-05-11 03:41:49 UTC (rev 3083)
@@ -63,7 +63,7 @@
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
builder.setDataModelIdentifier(1);
builder.setDataModelConversionDefInputStream(inputStream);
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(path.getPath());
builder.setProxyMode(false);
builder.setRemoveFiles(false);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/rel301/TestImport300.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/rel301/TestImport300.java 2012-05-09 04:56:39 UTC (rev 3082)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/rel301/TestImport300.java 2012-05-11 03:41:49 UTC (rev 3083)
@@ -80,7 +80,7 @@
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
builder.setDataModelIdentifier(2);
builder.setDataModelConversionDefInputStream(inputStreamAndSource);
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(path.getPath());
builder.setProxyMode(true);
builder.setRemoveFiles(true);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/rel301/TestUseRuntime300Lazy.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/rel301/TestUseRuntime300Lazy.java 2012-05-09 04:56:39 UTC (rev 3082)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/rel301/TestUseRuntime300Lazy.java 2012-05-11 03:41:49 UTC (rev 3083)
@@ -71,7 +71,7 @@
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
builder.setDataModelIdentifier(2);
builder.setDataModelConversionDefInputStream(dataModelConversionDefInputStreamAndSource);
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(path.getPath());
builder.setProxyMode(true);
builder.setRemoveFiles(false);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/rel301/TestUseRuntime300NotLazy.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/rel301/TestUseRuntime300NotLazy.java 2012-05-09 04:56:39 UTC (rev 3082)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/rel301/TestUseRuntime300NotLazy.java 2012-05-11 03:41:49 UTC (rev 3083)
@@ -71,7 +71,7 @@
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
builder.setDataModelIdentifier(2);
builder.setDataModelConversionDefInputStream(dataModelConversionDefInputStreamAndSource);
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(path.getPath());
builder.setProxyMode(false);
builder.setRemoveFiles(false);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/rel310/TestImport301ConversionA.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/rel310/TestImport301ConversionA.java 2012-05-09 04:56:39 UTC (rev 3082)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/rel310/TestImport301ConversionA.java 2012-05-11 03:41:49 UTC (rev 3083)
@@ -64,7 +64,7 @@
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
builder.setDataModelIdentifier(2);
builder.setDataModelConversionDefInputStream(inputStreamAndSource);
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(path.getPath());
builder.setProxyMode(true);
builder.setRemoveFiles(true);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/rel310/TestImport301ConversionB.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/rel310/TestImport301ConversionB.java 2012-05-09 04:56:39 UTC (rev 3082)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/rel310/TestImport301ConversionB.java 2012-05-11 03:41:49 UTC (rev 3083)
@@ -64,7 +64,7 @@
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
builder.setDataModelIdentifier(2);
builder.setDataModelConversionDefInputStream(inputStreamAndSource);
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(path.getPath());
builder.setProxyMode(true);
builder.setRemoveFiles(true);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/rel310/TestUseRuntime301LazyConversionA.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/rel310/TestUseRuntime301LazyConversionA.java 2012-05-09 04:56:39 UTC (rev 3082)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/rel310/TestUseRuntime301LazyConversionA.java 2012-05-11 03:41:49 UTC (rev 3083)
@@ -66,7 +66,7 @@
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
builder.setDataModelIdentifier(2);
builder.setDataModelConversionDefInputStream(inputStreamAndSource);
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(path.getPath());
builder.setProxyMode(true);
builder.setRemoveFiles(false);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/rel310/TestUseRuntime301LazyConversionB.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/rel310/TestUseRuntime301LazyConversionB.java 2012-05-09 04:56:39 UTC (rev 3082)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/rel310/TestUseRuntime301LazyConversionB.java 2012-05-11 03:41:49 UTC (rev 3083)
@@ -66,7 +66,7 @@
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
builder.setDataModelIdentifier(2);
builder.setDataModelConversionDefInputStream(inputStreamAndSource);
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(path.getPath());
builder.setProxyMode(true);
builder.setRemoveFiles(false);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/rel310/TestUseRuntime301NotLazyConversionA.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/rel310/TestUseRuntime301NotLazyConversionA.java 2012-05-09 04:56:39 UTC (rev 3082)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/rel310/TestUseRuntime301NotLazyConversionA.java 2012-05-11 03:41:49 UTC (rev 3083)
@@ -67,7 +67,7 @@
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
builder.setDataModelIdentifier(2);
builder.setDataModelConversionDefInputStream(inputStreamAndSource);
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(path.getPath());
builder.setProxyMode(false);
builder.setRemoveFiles(false);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/rel310/TestUseRuntime301NotLazyConversionB.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/rel310/TestUseRuntime301NotLazyConversionB.java 2012-05-09 04:56:39 UTC (rev 3082)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/rel310/TestUseRuntime301NotLazyConversionB.java 2012-05-11 03:41:49 UTC (rev 3083)
@@ -67,7 +67,7 @@
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
builder.setDataModelIdentifier(2);
builder.setDataModelConversionDefInputStream(inputStreamAndSource);
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(path.getPath());
builder.setProxyMode(false);
builder.setRemoveFiles(false);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestAutoSave.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestAutoSave.java 2012-05-09 04:56:39 UTC (rev 3082)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestAutoSave.java 2012-05-11 03:41:49 UTC (rev 3083)
@@ -103,7 +103,7 @@
super.setUp();
runtimeDir = TestConstant.getWinRamDiskRuntimeDir();
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(runtimeDir);
builder.setFileCache(PAGE_SIZE, NUMBER_OF_PAGE);
builder.setProxyMode(true);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestEnumMap.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestEnumMap.java 2012-05-09 04:56:39 UTC (rev 3082)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestEnumMap.java 2012-05-11 03:41:49 UTC (rev 3083)
@@ -88,7 +88,7 @@
FilePersistenceClassNotFoundException,
FilePersistenceDataCorruptedException {
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(path.getAbsolutePath());
builder.setRemoveFiles(removeFile);
builder.setProxyMode(true);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestFileManagementOptions.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestFileManagementOptions.java 2012-05-09 04:56:39 UTC (rev 3082)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestFileManagementOptions.java 2012-05-11 03:41:49 UTC (rev 3083)
@@ -90,7 +90,7 @@
FilePersistenceDataCorruptedException,
FilePersistenceTooBigForSerializationException {
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(path.getPath());
builder.setDataFileName("dataFile");
builder.setBackupDataFileName("backupDataFile");
@@ -140,7 +140,7 @@
FilePersistenceDataCorruptedException, FileIOException,
IOException, FilePersistenceTooBigForSerializationException {
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(path.getPath());
builder.setProxyMode(true);
builder.setRemoveFiles(false);
@@ -292,7 +292,7 @@
FilePersistenceDataCorruptedException, InterruptedException,
FilePersistenceTooBigForSerializationException {
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS);
builder.setPathName(path.getPath());
builder.setProxyMode(true);
builder.setRemoveFiles(true);
@@ -395,7 +395,7 @@
FilePersistenceDataCorruptedException,
FilePersistenceTooBigForSerializationException {
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
- builder.setFileAccessMode(EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS_2GBYTE_MAX);
+ builder.setFileAcc...
[truncated message content] |
|
From: <luc...@us...> - 2012-05-11 03:41:57
|
Revision: 3083
http://joafip.svn.sourceforge.net/joafip/?rev=3083&view=rev
Author: luc_peuvrier
Date: 2012-05-11 03:41:49 +0000 (Fri, 11 May 2012)
Log Message:
-----------
mapped random file access: bug corrected could have out of memory
Modified Paths:
--------------
trunk/joafip/src/main/java/net/sf/joafip/service/FilePersistencePropertiesReader.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/export_import/out/XmlExporter.java
trunk/joafip/src/test/java/net/sf/joafip/service/AbstractTestCustomObjectIO.java
trunk/joafip/src/test/java/net/sf/joafip/service/AbstractTestSerializable.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestBobSerializeStackOverflow.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestClear.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestCrashSafe.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestExportImport.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestExportObject.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestFilePersistenceNoG.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestFilePersistenceOpenClose.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestFilePersistenceWithG.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestInnerClassProxy.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestMultiAccessFilePersistence.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestMultipleFilePersistenceInstance.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestSaveFailureDoNotModifyStorage.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestStoreNotStorable.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestVisitedModified.java
trunk/joafip/src/test/java/net/sf/joafip/service/bug/AbstractFileCheckPersistenceForTest.java
trunk/joafip/src/test/java/net/sf/joafip/service/bug/AbstractFilePersistenceForTest.java
trunk/joafip/src/test/java/net/sf/joafip/service/bug/TestBugChangeLog.java
trunk/joafip/src/test/java/net/sf/joafip/service/bug/TestGarbageModeError.java
trunk/joafip/src/test/java/net/sf/joafip/service/bug/TestRootObjectMapAutoSave.java
trunk/joafip/src/test/java/net/sf/joafip/service/bug/TestSerializeAndNotLazy1.java
trunk/joafip/src/test/java/net/sf/joafip/service/bug/TestSerializeAndNotLazy2.java
trunk/joafip/src/test/java/net/sf/joafip/service/bug/primitive/TestHoldPrimitive.java
trunk/joafip/src/test/java/net/sf/joafip/service/bug/savenum/TestEnumKeptInMemory.java
trunk/joafip/src/test/java/net/sf/joafip/service/bug/savenum/TestEnumPersistence.java
trunk/joafip/src/test/java/net/sf/joafip/service/joafip_for_test.properties
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestArraySerialization.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestClassLoaderPersistence.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestImport222.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestImport222NotLazy.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestKeptInMemory.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestSubstitutionSerialize.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestSubstitutionSerializeReadWriteMethod.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestSubstitutionSubstitutedSerializable.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestSubstitutionWithDataAccessSession.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestThisInConstructor.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestUseRuntime222.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestUseRuntime222NotLazy.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel301/TestImport300.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel301/TestUseRuntime300Lazy.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel301/TestUseRuntime300NotLazy.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel310/TestImport301ConversionA.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel310/TestImport301ConversionB.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel310/TestUseRuntime301LazyConversionA.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel310/TestUseRuntime301LazyConversionB.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel310/TestUseRuntime301NotLazyConversionA.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel310/TestUseRuntime301NotLazyConversionB.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestAutoSave.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestEnumMap.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestFileManagementOptions.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestInstanceFactoryUsage.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestPHashMapNewInstance.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestPrivateAccess.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestRuntime310Garbage.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestSaveInExclusiveDataAccessSession.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestStoredImmutableEnum.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestTreeMapIteratorAutoSave.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestTreeSetIteratorAutoSave.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestTreeSupportIterator.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestTreeSupportIteratorAutoSave.java
trunk/joafip/src/test/java/net/sf/joafip/service/sync/TestSynchronizedCollection.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/StoreForTest.java
trunk/joafip-4test/src/main/java/net/sf/joafip/performance/items/service/AbstractPerfService.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/entity/ToWriteIterator.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/RandomAccessFileDirectMapped.java
trunk/joafip-kvstore/src/main/java/net/sf/joafip/kvstore/entity/EnumFileAccessMode.java
trunk/joafip-kvstore/src/main/java/net/sf/joafip/kvstore/service/FileForStorable.java
trunk/joafip-meminspector/src/main/java/net/sf/joafip/meminspector/service/inspect/MemInspector.java
trunk/joafip-testsuite/src/main/java/net/sf/joafip/file/FileTests.java
Added Paths:
-----------
trunk/joafip-4test/src/main/java/net/sf/joafip/file/
trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/
trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/AbstractWrite1Gbyte.java
trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWrite1GByteFileOutputStream.java
trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWrite1GByteFileOutputStreamMapped.java
trunk/joafip-4test/src/main/java/net/sf/joafip/file/service/MainWrite1GByteFileOutputStreamNIO.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/entity/MappedByteBufferNode.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/stream/
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/stream/AbstractFileOutputStreamOnRandomFile.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/stream/FileOutputStreamMapped.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/stream/FileOutputStreamNIO.java
Removed Paths:
-------------
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/FileOutputStreamNIO.java
trunk/joafip-file/src/main/java/net/sf/joafip/file/service/RandomAccessFileDirectMapped2GBLimited.java
trunk/joafip-file/src/test/java/net/sf/joafip/file/service/RandomFileDirectMapped2GBLimitedTest.java
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <luc...@us...> - 2012-05-09 04:56:46
|
Revision: 3082
http://joafip.svn.sourceforge.net/joafip/?rev=3082&view=rev
Author: luc_peuvrier
Date: 2012-05-09 04:56:39 +0000 (Wed, 09 May 2012)
Log Message:
-----------
WIP btree plus: data block access optimization
Modified Paths:
--------------
trunk/joafip-btreeplus/src/main/java/net/sf/joafip/btreeplus/entity/DataBlock.java
trunk/joafip-btreeplus/src/main/java/net/sf/joafip/btreeplus/entity/DataBlockPage.java
trunk/joafip-btreeplus/src/main/java/net/sf/joafip/btreeplus/entity/IDataBlock.java
trunk/joafip-btreeplus/src/main/java/net/sf/joafip/btreeplus/entity/LeafPage.java
trunk/joafip-btreeplus/src/main/java/net/sf/joafip/btreeplus/entity/NonTerminalPage.java
trunk/joafip-btreeplus/src/main/java/net/sf/joafip/btreeplus/entity/PageRecord.java
trunk/joafip-btreeplus/src/main/java/net/sf/joafip/btreeplus/service/BtreePlusDataManager.java
trunk/joafip-btreeplus/src/main/java/net/sf/joafip/btreeplus/service/BtreePlusElementMgr.java
trunk/joafip-btreeplus/src/test/java/net/sf/joafip/btreeplus/entity/DataBlockPageTest.java
trunk/joafip-btreeplus/src/test/java/net/sf/joafip/btreeplus/entity/LeafPageTest.java
trunk/joafip-btreeplus/src/test/java/net/sf/joafip/btreeplus/entity/NonTerminalPageTest.java
trunk/joafip-btreeplus/src/test/java/net/sf/joafip/btreeplus/entity/mock/MockDataBlock.java
trunk/joafip-btreeplus/src/test/java/net/sf/joafip/btreeplus/service/BtreePlusElementMgrTest.java
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <luc...@us...> - 2012-05-09 04:56:46
|
Revision: 3082
http://joafip.svn.sourceforge.net/joafip/?rev=3082&view=rev
Author: luc_peuvrier
Date: 2012-05-09 04:56:39 +0000 (Wed, 09 May 2012)
Log Message:
-----------
WIP btree plus: data block access optimization
Modified Paths:
--------------
trunk/joafip-btreeplus/src/main/java/net/sf/joafip/btreeplus/entity/DataBlock.java
trunk/joafip-btreeplus/src/main/java/net/sf/joafip/btreeplus/entity/DataBlockPage.java
trunk/joafip-btreeplus/src/main/java/net/sf/joafip/btreeplus/entity/IDataBlock.java
trunk/joafip-btreeplus/src/main/java/net/sf/joafip/btreeplus/entity/LeafPage.java
trunk/joafip-btreeplus/src/main/java/net/sf/joafip/btreeplus/entity/NonTerminalPage.java
trunk/joafip-btreeplus/src/main/java/net/sf/joafip/btreeplus/entity/PageRecord.java
trunk/joafip-btreeplus/src/main/java/net/sf/joafip/btreeplus/service/BtreePlusDataManager.java
trunk/joafip-btreeplus/src/main/java/net/sf/joafip/btreeplus/service/BtreePlusElementMgr.java
trunk/joafip-btreeplus/src/test/java/net/sf/joafip/btreeplus/entity/DataBlockPageTest.java
trunk/joafip-btreeplus/src/test/java/net/sf/joafip/btreeplus/entity/LeafPageTest.java
trunk/joafip-btreeplus/src/test/java/net/sf/joafip/btreeplus/entity/NonTerminalPageTest.java
trunk/joafip-btreeplus/src/test/java/net/sf/joafip/btreeplus/entity/mock/MockDataBlock.java
trunk/joafip-btreeplus/src/test/java/net/sf/joafip/btreeplus/service/BtreePlusElementMgrTest.java
Modified: trunk/joafip-btreeplus/src/main/java/net/sf/joafip/btreeplus/entity/DataBlock.java
===================================================================
--- trunk/joafip-btreeplus/src/main/java/net/sf/joafip/btreeplus/entity/DataBlock.java 2012-05-09 02:32:21 UTC (rev 3081)
+++ trunk/joafip-btreeplus/src/main/java/net/sf/joafip/btreeplus/entity/DataBlock.java 2012-05-09 04:56:39 UTC (rev 3082)
@@ -23,8 +23,6 @@
*/
package net.sf.joafip.btreeplus.entity;
-import java.util.Arrays;
-
import net.sf.joafip.NotStorableClass;
import net.sf.joafip.kvstore.service.HeapException;
@@ -38,18 +36,14 @@
private final DataBlockPage dataBlockPage;
- private final byte[] data;
-
private final int indexInDataBlockPage;
private final byte bits;
- private final int minSize;
+ private final int minDataSize;
- private final int maxSize;
+ private final int maxDataSize;
- private int size;
-
private long position = -1;
private LeafPage parentLeafPage;
@@ -57,25 +51,24 @@
private int indexInLeafPage;
public DataBlock(final DataBlockPage dataBlockPage,
- final int indexInDataBlockPage, final byte bits, final int minSize,
- final int maxSize) {
+ final int indexInDataBlockPage, final byte bits,
+ final int minDataSize, final int maxDataSize) {
super();
this.dataBlockPage = dataBlockPage;
this.indexInDataBlockPage = indexInDataBlockPage;
this.bits = bits;
- this.minSize = minSize;
- this.maxSize = maxSize;
- data = new byte[maxSize];
+ this.minDataSize = minDataSize;
+ this.maxDataSize = maxDataSize;
}
@Override
- public int getMinSize() {
- return minSize;
+ public int getMinDataSize() {
+ return minDataSize;
}
@Override
- public int getMaxSize() {
- return maxSize;
+ public int getMaxDataSize() {
+ return maxDataSize;
}
@Override
@@ -93,67 +86,26 @@
}
@Override
- public byte[] getDataHolder() {
- return data; // NOPMD i want this to make arrays accessible for
- // modification
- }
-
- @Override
- public int getSize() {
- return size;
- }
-
- @Override
- public void setSize(final int size) {
- this.size = size;
- }
-
- @Override
public void setData(final byte[] data) throws HeapException {
- System.arraycopy(data, 0, this.data, 0, size = data.length);
- setValueIsChangedValueToSave();
+ dataBlockPage.setData(indexInDataBlockPage, data);
}
@Override
- public byte[] getData() {
- return Arrays.copyOf(data, size);
+ public byte[] getData() throws HeapException {
+ return dataBlockPage.getData(indexInDataBlockPage);
}
@Override
- public void setValueIsChangedValueToSave() throws HeapException {
- dataBlockPage.setValueIsChangedValueToSave();
- }
-
- @Override
- public void setValueIsNotChanged() {
- dataBlockPage.setValueIsNotChanged();
- }
-
- @Override
public void setNextFreeDataBlockPositionOfFree(
final long nextFreeDataBlockPosition) throws HeapException {
- data[0] = (byte) (nextFreeDataBlockPosition >> 56);
- data[1] = (byte) (nextFreeDataBlockPosition >> 48);
- data[2] = (byte) (nextFreeDataBlockPosition >> 40);
- data[3] = (byte) (nextFreeDataBlockPosition >> 32);
- data[4] = (byte) (nextFreeDataBlockPosition >> 24);
- data[5] = (byte) (nextFreeDataBlockPosition >> 16);
- data[6] = (byte) (nextFreeDataBlockPosition >> 8);
- data[7] = (byte) (nextFreeDataBlockPosition);
- setValueIsChangedValueToSave();
+ dataBlockPage.setNextFreeDataBlockPositionOfFree(indexInDataBlockPage,
+ nextFreeDataBlockPosition);
}
@Override
- public long getNextFreeDataBlockPositionOfFree() {
- return
- /**/((((long) data[0]) & 0xff) << 56) |
- /**/((((long) data[1]) & 0xff) << 48) |
- /**/((((long) data[2]) & 0xff) << 40) |
- /**/((((long) data[3]) & 0xff) << 32) |
- /**/((((long) data[4]) & 0xff) << 24) |
- /**/((((long) data[5]) & 0xff) << 16) |
- /**/((((long) data[6]) & 0xff) << 8) |
- /**/(((long) data[7]) & 0xff);
+ public long getNextFreeDataBlockPositionOfFree() throws HeapException {
+ return dataBlockPage
+ .getNextFreeDataBlockPositionOfFree(indexInDataBlockPage);
}
@Override
Modified: trunk/joafip-btreeplus/src/main/java/net/sf/joafip/btreeplus/entity/DataBlockPage.java
===================================================================
--- trunk/joafip-btreeplus/src/main/java/net/sf/joafip/btreeplus/entity/DataBlockPage.java 2012-05-09 02:32:21 UTC (rev 3081)
+++ trunk/joafip-btreeplus/src/main/java/net/sf/joafip/btreeplus/entity/DataBlockPage.java 2012-05-09 04:56:39 UTC (rev 3082)
@@ -47,10 +47,18 @@
private final int dataBlockSize;
+ private final int numberOfBlock;
+
+ private final byte[] allData;
+
+ private int inAllDataIndex;
+
private final IDataBlock[] dataBlocks;
- private final int numberOfBlock;
+ private final int maxDataBlockDataSize;
+ private final int minDataBlockDataSize;
+
public static byte bitsForLength(final int length) throws HeapException {
for (byte bits = PageConstant.MIN_DATA_BLOCK_BITS; bits <= PageConstant.MAX_DATA_BLOCK_BITS; bits++) {
if (length < (1 << bits)) {
@@ -64,8 +72,8 @@
public DataBlockPage(final byte bits) {
super();
this.bits = bits;
- final int maxSize = 1 << bits;
- dataBlockSize = maxSize + 4/* for data size */;
+ maxDataBlockDataSize = 1 << bits;
+ dataBlockSize = maxDataBlockDataSize + 4/* for data content size */;
if (dataBlockSize > PageConstant.PAGE_SIZE - HEAD_TAIL_SIZE) {
// one data block on one or more pages
numberOfBlock = 1;
@@ -87,14 +95,10 @@
numberOfBlock = ((int) PageConstant.PAGE_SIZE - HEAD_TAIL_SIZE)
/ dataBlockSize;
}
- final int minSize = bits == PageConstant.MIN_DATA_BLOCK_BITS ? 0
+ minDataBlockDataSize = bits == PageConstant.MIN_DATA_BLOCK_BITS ? 0
: ((1 << (bits - 1)) + 1);
dataBlocks = new DataBlock[numberOfBlock];
- for (int dataBlockIndex = 0; dataBlockIndex < numberOfBlock; dataBlockIndex++) {
- dataBlocks[dataBlockIndex] = new DataBlock(this, dataBlockIndex, // NOPMD
- bits, minSize, maxSize);
-
- }
+ allData = new byte[numberOfBlock * dataBlockSize];
}
@Override
@@ -125,14 +129,23 @@
return numberOfBlock;
}
- public IDataBlock[] getDataBlocks() {
- return dataBlocks;// NOPMD
+ public byte[] getAllData() {
+ return allData; // NOPMD
}
+ public IDataBlock getDataBlock(final int index) {
+ IDataBlock dataBlock = dataBlocks[index];
+ if (dataBlock == null) {
+ dataBlock = dataBlocks[index] = new DataBlock(this, index, bits,
+ /* dataBlockSize, */minDataBlockDataSize, maxDataBlockDataSize);
+ }
+ return dataBlock;
+ }
+
public IDataBlock getDataBlock(final long dataBlockPosition) {
final int index = ((int) (dataBlockPosition - getPositionInFile()) - HEAD_SIZE)
/ dataBlockSize;
- return dataBlocks[index];
+ return getDataBlock(index);
}
public long getPositionInFile(final int index) {
@@ -140,13 +153,14 @@
}
public void setAllFree() throws HeapException {
- long nextPosition = getPositionInFile() + HEAD_SIZE + dataBlockSize;
- for (int index = 0; index < dataBlocks.length - 1; index++) {
- dataBlocks[index].setNextFreeDataBlockPositionOfFree(nextPosition);
- nextPosition += dataBlockSize;
+ long nextFreeDataBlockPosition = getPositionInFile() + HEAD_SIZE
+ + dataBlockSize;
+ for (int indexInDataBlockPage = 0; indexInDataBlockPage < numberOfBlock - 1; indexInDataBlockPage++) {
+ setNextFreeDataBlockPositionOfFree(indexInDataBlockPage,
+ nextFreeDataBlockPosition);
+ nextFreeDataBlockPosition += dataBlockSize;
}
- dataBlocks[dataBlocks.length - 1]
- .setNextFreeDataBlockPositionOfFree(-1L);
+ setNextFreeDataBlockPositionOfFree(numberOfBlock - 1, -1L);
setValueIsChangedValueToSave();
}
@@ -165,4 +179,87 @@
public int getInParentIndex() throws HeapException {
throw new HeapException("unsupported");
}
+
+ public void setData(final int indexInDataBlockPage, final byte[] data)
+ throws HeapException {
+ inAllDataIndex = indexInDataBlockPage * dataBlockSize;
+ final int size = data.length;
+ writeInteger(size);
+ writeBytes(data);
+ setValueIsChangedValueToSave();
+ }
+
+ public byte[] getData(final int indexInDataBlockPage) throws HeapException {
+ inAllDataIndex = indexInDataBlockPage * dataBlockSize;
+ final int size = readInteger();
+ final byte[] data = new byte[size];
+ readBytes(data);
+ return data;
+ }
+
+ public void setNextFreeDataBlockPositionOfFree(
+ final int indexInDataBlockPage, final long nextFreeDataBlockPosition)
+ throws HeapException {
+ inAllDataIndex = indexInDataBlockPage * dataBlockSize;
+ writeLong(nextFreeDataBlockPosition);
+ setValueIsChangedValueToSave();
+ }
+
+ public long getNextFreeDataBlockPositionOfFree(
+ final int indexInDataBlockPage) throws HeapException {
+ inAllDataIndex = indexInDataBlockPage * dataBlockSize;
+ return readLong();
+ }
+
+ protected int readInteger() throws HeapException {
+ int value = 0;
+ for (int byteIndex = 3; byteIndex >= 0; byteIndex--) {
+ final byte byteValue = allData[inAllDataIndex + byteIndex];
+ value = (value << 8) | (((int) byteValue) & 0xff);
+ }
+ inAllDataIndex += 4;
+ return value;
+ }
+
+ protected byte readByte() throws HeapException {
+ return allData[inAllDataIndex++];
+ }
+
+ protected void readBytes(final byte[] destination) throws HeapException {
+ final int length = destination.length;
+ System.arraycopy(allData, inAllDataIndex, destination, 0, length);
+ inAllDataIndex += length;
+ }
+
+ protected long readLong() throws HeapException {
+ long value = 0;
+ for (int byteIndex = 7; byteIndex >= 0; byteIndex--) {
+ final byte byteValue = allData[inAllDataIndex + byteIndex];
+ value = (value << 8) | (((long) byteValue) & 0xff);
+ }
+ inAllDataIndex += 8;
+ return value;
+ }
+
+ protected void writeBytes(final byte[] dataByteArray) throws HeapException {
+ System.arraycopy(dataByteArray, 0, allData, inAllDataIndex,
+ dataByteArray.length);
+ inAllDataIndex += dataByteArray.length;
+ }
+
+ protected void writeLong(final long value) throws HeapException {
+ long localValue = value;
+ for (int byteIndex = 0; byteIndex < 8; byteIndex++) {
+ allData[inAllDataIndex++] = (byte) localValue;
+ localValue >>= 8;
+ }
+ }
+
+ protected void writeInteger(final int value) throws HeapException {
+ int localValue = value;
+ for (int byteIndex = 0; byteIndex < 4; byteIndex++) {
+ allData[inAllDataIndex++] = (byte) localValue;
+ localValue >>= 8;
+ }
+ }
}
Modified: trunk/joafip-btreeplus/src/main/java/net/sf/joafip/btreeplus/entity/IDataBlock.java
===================================================================
--- trunk/joafip-btreeplus/src/main/java/net/sf/joafip/btreeplus/entity/IDataBlock.java 2012-05-09 02:32:21 UTC (rev 3081)
+++ trunk/joafip-btreeplus/src/main/java/net/sf/joafip/btreeplus/entity/IDataBlock.java 2012-05-09 04:56:39 UTC (rev 3082)
@@ -30,13 +30,13 @@
* @author luc peuvrier
*
*/
-public interface IDataBlock extends IStateStored {
+public interface IDataBlock {
long getPositionInFile();
void setData(byte[] data) throws HeapException;
- byte[] getData();
+ byte[] getData() throws HeapException;
/**
* the next free data block position is wrote on data, must be call only if
@@ -52,15 +52,14 @@
* make sense to be call only if this is a free data block
*
* @return next free data block position
+ * @throws HeapException
*/
- long getNextFreeDataBlockPositionOfFree();
+ long getNextFreeDataBlockPositionOfFree() throws HeapException;
- byte[] getDataHolder();
+ int getMinDataSize();
- int getMinSize();
+ int getMaxDataSize();
- int getMaxSize();
-
byte getBits();
int getIndexInDataBlockPage();
@@ -70,8 +69,4 @@
LeafPage getParentLeafPage();
int getIndexInLeafPage();
-
- int getSize();
-
- void setSize(int size);
}
Modified: trunk/joafip-btreeplus/src/main/java/net/sf/joafip/btreeplus/entity/LeafPage.java
===================================================================
--- trunk/joafip-btreeplus/src/main/java/net/sf/joafip/btreeplus/entity/LeafPage.java 2012-05-09 02:32:21 UTC (rev 3081)
+++ trunk/joafip-btreeplus/src/main/java/net/sf/joafip/btreeplus/entity/LeafPage.java 2012-05-09 04:56:39 UTC (rev 3082)
@@ -65,11 +65,6 @@
private int index;
- public LeafPage(final boolean longKey) throws HeapException {
- this(0, longKey);
- updateByteSize();
- }
-
public LeafPage(final int numberOfKeyEntries, final boolean longKey) {
super(longKey);
this.numberOfKeyEntries = numberOfKeyEntries;
Modified: trunk/joafip-btreeplus/src/main/java/net/sf/joafip/btreeplus/entity/NonTerminalPage.java
===================================================================
--- trunk/joafip-btreeplus/src/main/java/net/sf/joafip/btreeplus/entity/NonTerminalPage.java 2012-05-09 02:32:21 UTC (rev 3081)
+++ trunk/joafip-btreeplus/src/main/java/net/sf/joafip/btreeplus/entity/NonTerminalPage.java 2012-05-09 04:56:39 UTC (rev 3082)
@@ -69,12 +69,6 @@
private DataRecordIdentifier middleKey;
- @Fortest
- public NonTerminalPage(final boolean longKey) throws HeapException {
- this(0, longKey);
- updateByteSize();
- }
-
/**
* not static set creation
*
Modified: trunk/joafip-btreeplus/src/main/java/net/sf/joafip/btreeplus/entity/PageRecord.java
===================================================================
--- trunk/joafip-btreeplus/src/main/java/net/sf/joafip/btreeplus/entity/PageRecord.java 2012-05-09 02:32:21 UTC (rev 3081)
+++ trunk/joafip-btreeplus/src/main/java/net/sf/joafip/btreeplus/entity/PageRecord.java 2012-05-09 04:56:39 UTC (rev 3082)
@@ -36,6 +36,8 @@
@NotStorableClass
public class PageRecord extends AbstractPageRecord implements IPageRecord {
+ private static final String BAD_NUMBER_OF_ENTRIES = "bad number of entries ";
+
private EnumRecordType recordType;
private IPageRecordable pageRecordable;
@@ -207,6 +209,10 @@
assert pageRecordable.getByteSize() <= PageConstant.PAGE_SIZE;
final NonTerminalPage nonTerminalPage = (NonTerminalPage) pageRecordable;
final int numberOfKeyEntries = nonTerminalPage.getNumberOfKeyEntries();
+ if (numberOfKeyEntries <= 0
+ || numberOfKeyEntries > NonTerminalPage.MAX_NUMBER_OF_ENTRIES) {
+ throw new HeapException(BAD_NUMBER_OF_ENTRIES + numberOfKeyEntries);
+ }
writeInteger(numberOfKeyEntries);
for (int index = 0; index < numberOfKeyEntries; index++) {
writeLong(nonTerminalPage.getPagePointer(index));
@@ -218,6 +224,10 @@
private void unmarshallNonTerminalPage() throws HeapException {
final int numberOfKeyEntries = readInteger();
+ if (numberOfKeyEntries <= 0
+ || numberOfKeyEntries > NonTerminalPage.MAX_NUMBER_OF_ENTRIES) {
+ throw new HeapException(BAD_NUMBER_OF_ENTRIES + numberOfKeyEntries);
+ }
final NonTerminalPage nonTerminalPage = new NonTerminalPage(
numberOfKeyEntries, longKey);
nonTerminalPage.setPageRecord(this);
@@ -237,6 +247,10 @@
assert pageRecordable.getByteSize() <= PageConstant.PAGE_SIZE;
final LeafPage leafPage = (LeafPage) pageRecordable;
final int numberOfKeyEntries = leafPage.getNumberOfKeyEntries();
+ if (numberOfKeyEntries <= 0
+ || numberOfKeyEntries > LeafPage.MAX_NUMBER_OF_ENTRIES) {
+ throw new HeapException(BAD_NUMBER_OF_ENTRIES + numberOfKeyEntries);
+ }
writeInteger(numberOfKeyEntries);
for (int index = 0; index < numberOfKeyEntries; index++) {
writeKey(leafPage.getKey(index));
@@ -248,6 +262,10 @@
private void unmarshallLeafPage() throws HeapException {
final int numberOfKeyEntries = readInteger();
+ if (numberOfKeyEntries <= 0
+ || numberOfKeyEntries > LeafPage.MAX_NUMBER_OF_ENTRIES) {
+ throw new HeapException(BAD_NUMBER_OF_ENTRIES + numberOfKeyEntries);
+ }
final LeafPage leafPage = new LeafPage(numberOfKeyEntries, longKey);
leafPage.setPageRecord(this);
for (int index = 0; index < numberOfKeyEntries; index++) {
@@ -284,11 +302,8 @@
// ASSERTX
assert pageRecordable.getByteSize() <= numberOfPage
* PageConstant.PAGE_SIZE;
- final IDataBlock[] dataBlocks = dataBlockPage.getDataBlocks();
- for (IDataBlock dataBlock : dataBlocks) {
- writeInteger(dataBlock.getSize());
- writeBytes(dataBlock.getDataHolder());
- }
+ final byte[] allData = dataBlockPage.getAllData();
+ writeBytes(allData);
writeCrc32(0);
}
@@ -303,11 +318,8 @@
throw new HeapException("failed to get " + newSize
+ ", total read size is " + totalReadSize);
}
- final IDataBlock[] dataBlocks = dataBlockPage.getDataBlocks();
- for (IDataBlock dataBlock : dataBlocks) {
- dataBlock.setSize(readInteger());
- readBytes(dataBlock.getDataHolder());
- }
+ final byte[] allData = dataBlockPage.getAllData();
+ readBytes(allData);
readAndCheckCrc32(0);
pageRecordable = dataBlockPage;
}
Modified: trunk/joafip-btreeplus/src/main/java/net/sf/joafip/btreeplus/service/BtreePlusDataManager.java
===================================================================
--- trunk/joafip-btreeplus/src/main/java/net/sf/joafip/btreeplus/service/BtreePlusDataManager.java 2012-05-09 02:32:21 UTC (rev 3081)
+++ trunk/joafip-btreeplus/src/main/java/net/sf/joafip/btreeplus/service/BtreePlusDataManager.java 2012-05-09 04:56:39 UTC (rev 3082)
@@ -248,8 +248,8 @@
created = false;
final IDataBlock dataBlock = btreePlusElementMgr
.getDataBlock(dataBlockPosition);
- if (data.length >= dataBlock.getMinSize()
- && data.length <= dataBlock.getMaxSize()) {
+ if (data.length >= dataBlock.getMinDataSize()
+ && data.length <= dataBlock.getMaxDataSize()) {
dataBlock.setData(data);
} else {
final int index = dataBlock.getIndexInDataBlockPage();
Modified: trunk/joafip-btreeplus/src/main/java/net/sf/joafip/btreeplus/service/BtreePlusElementMgr.java
===================================================================
--- trunk/joafip-btreeplus/src/main/java/net/sf/joafip/btreeplus/service/BtreePlusElementMgr.java 2012-05-09 02:32:21 UTC (rev 3081)
+++ trunk/joafip-btreeplus/src/main/java/net/sf/joafip/btreeplus/service/BtreePlusElementMgr.java 2012-05-09 04:56:39 UTC (rev 3082)
@@ -292,7 +292,7 @@
heapElementManager.appendHeapFileRecord(pageRecord);
dataBlockPage.setAllFree();
header.incrementNumberOfFreeRecord(dataBlockPage.getNumberOfBlock());
- dataBlock = dataBlockPage.getDataBlocks()[0];
+ dataBlock = dataBlockPage.getDataBlock(0);
} else {
dataBlock = getDataBlock(freeDataBlockPosition);
}
Modified: trunk/joafip-btreeplus/src/test/java/net/sf/joafip/btreeplus/entity/DataBlockPageTest.java
===================================================================
--- trunk/joafip-btreeplus/src/test/java/net/sf/joafip/btreeplus/entity/DataBlockPageTest.java 2012-05-09 02:32:21 UTC (rev 3081)
+++ trunk/joafip-btreeplus/src/test/java/net/sf/joafip/btreeplus/entity/DataBlockPageTest.java 2012-05-09 04:56:39 UTC (rev 3082)
@@ -80,15 +80,18 @@
assertEquals("bad byte size", dataBlockPageByteSize,
dataBlockPage.getByteSize());
dataBlockPage.setAllFree();
- final IDataBlock[] dataBlocks = dataBlockPage.getDataBlocks();
- assertEquals("number of block missmatch", numberOfBlock,
- dataBlocks.length);
+ // final IDataBlock[] dataBlocks = dataBlockPage.getDataBlocks();
+ // assertEquals("number of block missmatch", numberOfBlock,
+ // dataBlocks.length);
int index = 0;
long expectedCurrentPositionInFile = dataBlockPage.getPositionInFile()
+ DataBlockPage.HEAD_SIZE;
long nextFreeDataBlockPosition = dataBlockPage.getPositionInFile()
+ DataBlockPage.HEAD_SIZE;
- for (IDataBlock dataBlock : dataBlocks) {
+ // for (IDataBlock dataBlock : dataBlocks) {
+ for (int dataBlockIndex = 0; dataBlockIndex < numberOfBlock; dataBlockIndex++) {
+ final IDataBlock dataBlock = dataBlockPage
+ .getDataBlock(dataBlockIndex);
assertEquals("bad number of bits", bits, dataBlock.getBits());
final long positionInFile = dataBlock.getPositionInFile();
assertEquals("bad position in file", expectedCurrentPositionInFile,
Modified: trunk/joafip-btreeplus/src/test/java/net/sf/joafip/btreeplus/entity/LeafPageTest.java
===================================================================
--- trunk/joafip-btreeplus/src/test/java/net/sf/joafip/btreeplus/entity/LeafPageTest.java 2012-05-09 02:32:21 UTC (rev 3081)
+++ trunk/joafip-btreeplus/src/test/java/net/sf/joafip/btreeplus/entity/LeafPageTest.java 2012-05-09 04:56:39 UTC (rev 3082)
@@ -54,7 +54,8 @@
}
public void testCreation() throws HeapException {
- final LeafPage leafPage = new LeafPage(true);
+ final LeafPage leafPage = new LeafPage(0, true);
+ leafPage.updateByteSize();
leafPage.setPageRecord(PAGE_RECORD);
assertEquals("must be empty", 0, leafPage.getNumberOfKeyEntries());
assertEquals("must be one page", 1, leafPage.getNumberOfPage());
@@ -64,7 +65,8 @@
}
public void testAdd() throws HeapException {
- final LeafPage leafPage = new LeafPage(true);
+ final LeafPage leafPage = new LeafPage(0, true);
+ leafPage.updateByteSize();
leafPage.setPageRecord(PAGE_RECORD);
addToLeafPage(leafPage, 1000/* position */, 10/* key value */, 10, 1);
checkContent(leafPage,
@@ -150,7 +152,7 @@
}
public void testSetParentPage() throws HeapException {
- final LeafPage leafPage = new LeafPage(true);
+ final LeafPage leafPage = new LeafPage(0, true);
leafPage.setPageRecord(PAGE_RECORD);
final IPageRecordable parentPage = new MockPageRecordable();
final int inParentIndex = 5;
@@ -161,7 +163,7 @@
}
public void testSetNext() throws HeapException {
- final LeafPage leafPage = new LeafPage(true);
+ final LeafPage leafPage = new LeafPage(0, true);
leafPage.setPageRecord(PAGE_RECORD);
final long next = 5000;
leafPage.setNext(next);
@@ -169,7 +171,8 @@
}
public void testSplit1() throws HeapException {
- final LeafPage leafPage = new LeafPage(true);
+ final LeafPage leafPage = new LeafPage(0, true);
+ leafPage.updateByteSize();
leafPage.setPageRecord(PAGE_RECORD);
final int maxNumberOfEntries = maxNumberOfEntries();
int count = 0;
@@ -188,7 +191,8 @@
}
public void testSplit2() throws HeapException {
- final LeafPage leafPage = new LeafPage(true);
+ final LeafPage leafPage = new LeafPage(0, true);
+ leafPage.updateByteSize();
leafPage.setPageRecord(PAGE_RECORD);
final int maxNumberOfEntries = maxNumberOfEntries();
int count = 1;
@@ -229,7 +233,8 @@
}
public void testRemove() throws HeapException {// NOPMD
- final LeafPage leafPage = new LeafPage(true);
+ final LeafPage leafPage = new LeafPage(0, true);
+ leafPage.updateByteSize();
addToLeafPage(leafPage,
/**/new int[] { 5, 7, 10, 15, 17 },
/**/new long[] { 2000, 4000, 1000, 3000, 5000 });
@@ -251,8 +256,10 @@
}
public void testEquilibrateMerge() throws HeapException {
- final LeafPage leftLeafPage = new LeafPage(true);
- final LeafPage rightLeafPage = new LeafPage(true);
+ final LeafPage leftLeafPage = new LeafPage(0, true);
+ leftLeafPage.updateByteSize();
+ final LeafPage rightLeafPage = new LeafPage(0, true);
+ rightLeafPage.updateByteSize();
addToLeafPage(leftLeafPage,
/**/new int[] { 5, 7, 10, 15, 17 },
/**/new long[] { 2000, 4000, 1000, 3000, 5000 });
@@ -268,10 +275,12 @@
}
public void testEquilibrateRightToLeft() throws HeapException {
- final LeafPage leftLeafPage = new LeafPage(true);
+ final LeafPage leftLeafPage = new LeafPage(0, true);
+ leftLeafPage.updateByteSize();
addToLeafPage(leftLeafPage, createKeys(1, 128 + 32),
createPointers(1000, 128 + 32));
- final LeafPage rightLeafPage = new LeafPage(true);
+ final LeafPage rightLeafPage = new LeafPage(0, true);
+ rightLeafPage.updateByteSize();
addToLeafPage(rightLeafPage, createKeys(1 + 128 + 32, 128 + 64),
createPointers(1000 + 128 + 32, 128 + 64));
assertEquals("must balance", 1,
@@ -283,10 +292,12 @@
}
public void testEquilibrateLeftToRight() throws HeapException {
- final LeafPage leftLeafPage = new LeafPage(true);
+ final LeafPage leftLeafPage = new LeafPage(0, true);
+ leftLeafPage.updateByteSize();
addToLeafPage(leftLeafPage, createKeys(1, 128 + 64),
createPointers(1000, 128 + 64));
- final LeafPage rightLeafPage = new LeafPage(true);
+ final LeafPage rightLeafPage = new LeafPage(0, true);
+ rightLeafPage.updateByteSize();
addToLeafPage(rightLeafPage, createKeys(1 + 128 + 64, 128 + 32),
createPointers(1000 + 128 + 64, 128 + 32));
assertEquals("must balance", 1,
Modified: trunk/joafip-btreeplus/src/test/java/net/sf/joafip/btreeplus/entity/NonTerminalPageTest.java
===================================================================
--- trunk/joafip-btreeplus/src/test/java/net/sf/joafip/btreeplus/entity/NonTerminalPageTest.java 2012-05-09 02:32:21 UTC (rev 3081)
+++ trunk/joafip-btreeplus/src/test/java/net/sf/joafip/btreeplus/entity/NonTerminalPageTest.java 2012-05-09 04:56:39 UTC (rev 3082)
@@ -53,13 +53,14 @@
}
public void testCreation() throws HeapException {
- final NonTerminalPage nonTerminalPage = new NonTerminalPage(true);
- assertEquals("must be empty", 0,
+ final NonTerminalPage nonTerminalPage = new NonTerminalPage(1, true);
+ nonTerminalPage.updateByteSize();
+ assertEquals("bad number of entries", 1,
nonTerminalPage.getNumberOfKeyEntries());
assertEquals("must be one page", 1, nonTerminalPage.getNumberOfPage());
assertEquals("bad record type", EnumRecordType.NON_TERMINAL_PAGE,
nonTerminalPage.getRecordType());
- assertEquals("bad byte size", byteSize(0),
+ assertEquals("bad byte size", byteSize(1),
nonTerminalPage.getByteSize());
}
@@ -407,8 +408,8 @@
}
public void testSetParentPage() throws HeapException {
- final NonTerminalPage nonTerminalPage = new NonTerminalPage(true);
- final IPageRecordable parentPage = new NonTerminalPage(true);
+ final NonTerminalPage nonTerminalPage = new NonTerminalPage(1, true);
+ final IPageRecordable parentPage = new NonTerminalPage(1, true);
nonTerminalPage.setParentPage(parentPage, 10);
assertSame("bad parent page", parentPage,
nonTerminalPage.getParentPage());
Modified: trunk/joafip-btreeplus/src/test/java/net/sf/joafip/btreeplus/entity/mock/MockDataBlock.java
===================================================================
--- trunk/joafip-btreeplus/src/test/java/net/sf/joafip/btreeplus/entity/mock/MockDataBlock.java 2012-05-09 02:32:21 UTC (rev 3081)
+++ trunk/joafip-btreeplus/src/test/java/net/sf/joafip/btreeplus/entity/mock/MockDataBlock.java 2012-05-09 04:56:39 UTC (rev 3082)
@@ -40,16 +40,6 @@
private long position;
- @Override
- public void setValueIsChangedValueToSave() throws HeapException {
- // no implementation
- }
-
- @Override
- public void setValueIsNotChanged() {
- // no implementation
- }
-
public void setPosition(final long position) {
this.position = position;
}
@@ -83,19 +73,13 @@
}
@Override
- public byte[] getDataHolder() {// NOPMD
+ public int getMinDataSize() {
// no implementation
- return null;
- }
-
- @Override
- public int getMinSize() {
- // no implementation
return 0;
}
@Override
- public int getMaxSize() {
+ public int getMaxDataSize() {
// no implementation
return 0;
}
@@ -129,15 +113,4 @@
// no implementation
return 0;
}
-
- @Override
- public int getSize() {
- // no implementation
- return 0;
- }
-
- @Override
- public void setSize(final int size) {
- // no implementation
- }
}
Modified: trunk/joafip-btreeplus/src/test/java/net/sf/joafip/btreeplus/service/BtreePlusElementMgrTest.java
===================================================================
--- trunk/joafip-btreeplus/src/test/java/net/sf/joafip/btreeplus/service/BtreePlusElementMgrTest.java 2012-05-09 02:32:21 UTC (rev 3081)
+++ trunk/joafip-btreeplus/src/test/java/net/sf/joafip/btreeplus/service/BtreePlusElementMgrTest.java 2012-05-09 04:56:39 UTC (rev 3082)
@@ -99,7 +99,10 @@
public void testAppendPageRecordable() throws HeapException {
btreePlusElementMgr.openTransaction();
- IPageRecordable pageRecordable = new LeafPage(true);
+ final LeafPage leafPage = new LeafPage(1, true);
+ leafPage.setEntry(0, 0, new DataRecordIdentifier());
+ leafPage.updateByteSize();
+ IPageRecordable pageRecordable = leafPage;
assertNull(MUST_BE_NOT_STORED, pageRecordable.getPageRecord());
btreePlusElementMgr.appendPageRecordable(pageRecordable);
pageRecordable.setValueIsChangedValueToSave();
@@ -110,7 +113,10 @@
assertEquals(BAD_LAST_RECORD_POSITION, PageConstant.PAGE_SIZE * 1,
btreePlusElementMgr.getLastRecordPositionInFile());
- pageRecordable = new NonTerminalPage(true);
+ NonTerminalPage nonTerminalPage = new NonTerminalPage(1, true);
+ nonTerminalPage.setKey(0, new DataRecordIdentifier());
+ pageRecordable = nonTerminalPage;
+ pageRecordable.updateByteSize();
assertNull(MUST_BE_NOT_STORED, pageRecordable.getPageRecord());
btreePlusElementMgr.appendPageRecordable(pageRecordable);
pageRecordable.setValueIsChangedValueToSave();
@@ -152,8 +158,8 @@
pageRecordable = btreePlusElementMgr.getPage(position, null, 0);
assertTrue("non terminal page expected",
pageRecordable instanceof NonTerminalPage);
- NonTerminalPage nonTerminalPage = (NonTerminalPage) pageRecordable;
- assertEquals("bad non terminal page #1 state", 0,
+ nonTerminalPage = (NonTerminalPage) pageRecordable;
+ assertEquals("bad non terminal page #1 state", 1,
nonTerminalPage.getNumberOfKeyEntries());
position += PageConstant.PAGE_SIZE;
pageRecordable = btreePlusElementMgr.getPage(position, null, 0);
@@ -169,14 +175,17 @@
btreePlusElementMgr.openTransaction();
assertEquals("must not has free page", -1, getHeapHeader()
.getPageNumberOfFirstFreePage());
- IPageRecordable pageRecordable = new LeafPage(true);
+ IPageRecordable pageRecordable = newLeafPage();
+ pageRecordable.updateByteSize();
btreePlusElementMgr.appendPageRecordable(pageRecordable);
pageRecordable.setValueIsChangedValueToSave();
- pageRecordable = new LeafPage(true);
+ pageRecordable = newLeafPage();
+ pageRecordable.updateByteSize();
btreePlusElementMgr.appendPageRecordable(pageRecordable);
pageRecordable.setValueIsChangedValueToSave();
final long pageNumber = pageRecordable.getPageRecord().getPageNumber();
- pageRecordable = new LeafPage(true);
+ pageRecordable = newLeafPage();
+ pageRecordable.updateByteSize();
btreePlusElementMgr.appendPageRecordable(pageRecordable);
pageRecordable.setValueIsChangedValueToSave();
btreePlusElementMgr.closeTransaction();
@@ -193,7 +202,7 @@
btreePlusElementMgr.openTransaction();
assertEquals("must has free page", pageNumber, getHeapHeader()
.getPageNumberOfFirstFreePage());
- pageRecordable = new LeafPage(true);
+ pageRecordable = newLeafPage();
btreePlusElementMgr.appendPageRecordable(pageRecordable);
pageRecordable.setValueIsChangedValueToSave();
final long pageNumber2 = pageRecordable.getPageRecord().getPageNumber();
@@ -203,6 +212,13 @@
btreePlusElementMgr.closeTransaction();
}
+ private IPageRecordable newLeafPage() throws HeapException {
+ final LeafPage pageRecordable = new LeafPage(1, true);
+ pageRecordable.setEntry(0, 0, new DataRecordIdentifier());
+ pageRecordable.updateByteSize();
+ return pageRecordable;
+ }
+
public void testDataBlock() throws HeapException {
TestDataBlockContext[] contextByBits = new TestDataBlockContext[PageConstant.NUMBER_OF_BLOCK_TYPE];
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <luc...@us...> - 2012-05-09 02:32:28
|
Revision: 3081
http://joafip.svn.sourceforge.net/joafip/?rev=3081&view=rev
Author: luc_peuvrier
Date: 2012-05-09 02:32:21 +0000 (Wed, 09 May 2012)
Log Message:
-----------
WIP btree plus: optimization
Modified Paths:
--------------
trunk/joafip-btreeplus/src/main/java/net/sf/joafip/btreeplus/entity/PageNode.java
trunk/joafip-btreeplus/src/main/java/net/sf/joafip/btreeplus/entity/PageRecord.java
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <luc...@us...> - 2012-05-09 02:32:27
|
Revision: 3081
http://joafip.svn.sourceforge.net/joafip/?rev=3081&view=rev
Author: luc_peuvrier
Date: 2012-05-09 02:32:21 +0000 (Wed, 09 May 2012)
Log Message:
-----------
WIP btree plus: optimization
Modified Paths:
--------------
trunk/joafip-btreeplus/src/main/java/net/sf/joafip/btreeplus/entity/PageNode.java
trunk/joafip-btreeplus/src/main/java/net/sf/joafip/btreeplus/entity/PageRecord.java
Modified: trunk/joafip-btreeplus/src/main/java/net/sf/joafip/btreeplus/entity/PageNode.java
===================================================================
--- trunk/joafip-btreeplus/src/main/java/net/sf/joafip/btreeplus/entity/PageNode.java 2012-05-09 01:47:50 UTC (rev 3080)
+++ trunk/joafip-btreeplus/src/main/java/net/sf/joafip/btreeplus/entity/PageNode.java 2012-05-09 02:32:21 UTC (rev 3081)
@@ -38,7 +38,8 @@
public long pointer;
- public PageNode(final DataRecordIdentifier dataRecordIdentifier,final long pointer) {
+ public PageNode(final DataRecordIdentifier dataRecordIdentifier,
+ final long pointer) {
super();
this.dataRecordIdentifier = dataRecordIdentifier;
this.pointer = pointer;
Modified: trunk/joafip-btreeplus/src/main/java/net/sf/joafip/btreeplus/entity/PageRecord.java
===================================================================
--- trunk/joafip-btreeplus/src/main/java/net/sf/joafip/btreeplus/entity/PageRecord.java 2012-05-09 01:47:50 UTC (rev 3080)
+++ trunk/joafip-btreeplus/src/main/java/net/sf/joafip/btreeplus/entity/PageRecord.java 2012-05-09 02:32:21 UTC (rev 3081)
@@ -131,15 +131,15 @@
@Override
public int getRecordSize() throws HeapException {
// ASSERTX
- assert pageRecordable != null;
- return pageRecordable.getNumberOfPage() * (int) PageConstant.PAGE_SIZE;
+ assert pageRecordable != null && pageRecordable != null;
+ return pageRecordable.getNumberOfPage() << PageConstant.PAGE_BITS;
}
@Override
protected int toMarshallSize() throws HeapException {
// ASSERTX
assert recordType != null && pageRecordable != null;
- return pageRecordable.getNumberOfPage() * (int) PageConstant.PAGE_SIZE;
+ return pageRecordable.getNumberOfPage() << PageConstant.PAGE_BITS;
}
@Override
@@ -297,7 +297,7 @@
final DataBlockPage dataBlockPage = new DataBlockPage(bits);
dataBlockPage.setPageRecord(this);
final int numberOfPage = dataBlockPage.getNumberOfPage();
- final int newSize = numberOfPage * (int) PageConstant.PAGE_SIZE;
+ final int newSize = numberOfPage << PageConstant.PAGE_BITS;
final int totalReadSize = readFileAppendToIoBuffer(newSize);
if (totalReadSize != newSize) {
throw new HeapException("failed to get " + newSize
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <luc...@us...> - 2012-05-09 01:47:57
|
Revision: 3080
http://joafip.svn.sourceforge.net/joafip/?rev=3080&view=rev
Author: luc_peuvrier
Date: 2012-05-09 01:47:50 +0000 (Wed, 09 May 2012)
Log Message:
-----------
test independent of btree+ page size
Modified Paths:
--------------
trunk/joafip-btreeplus/src/test/java/net/sf/joafip/btreeplus/entity/BigKey.java
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <luc...@us...> - 2012-05-09 01:47:56
|
Revision: 3080
http://joafip.svn.sourceforge.net/joafip/?rev=3080&view=rev
Author: luc_peuvrier
Date: 2012-05-09 01:47:50 +0000 (Wed, 09 May 2012)
Log Message:
-----------
test independent of btree+ page size
Modified Paths:
--------------
trunk/joafip-btreeplus/src/test/java/net/sf/joafip/btreeplus/entity/BigKey.java
Modified: trunk/joafip-btreeplus/src/test/java/net/sf/joafip/btreeplus/entity/BigKey.java
===================================================================
--- trunk/joafip-btreeplus/src/test/java/net/sf/joafip/btreeplus/entity/BigKey.java 2012-05-09 01:44:57 UTC (rev 3079)
+++ trunk/joafip-btreeplus/src/test/java/net/sf/joafip/btreeplus/entity/BigKey.java 2012-05-09 01:47:50 UTC (rev 3080)
@@ -42,7 +42,7 @@
private final long value;
- private final byte[] dummyData = new byte[512];
+ private final byte[] dummyData = new byte[(int) (PageConstant.PAGE_SIZE / 8)];
public BigKey(final long value) {
super();
@@ -55,7 +55,7 @@
}
public byte[] getDummyData() {
- return dummyData;//NOPMD
+ return dummyData;// NOPMD
}
@Override
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|