joafip-svn Mailing List for java data object persistence in file (Page 20)
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...> - 2011-10-28 03:13:19
|
Revision: 2942
http://joafip.svn.sourceforge.net/joafip/?rev=2942&view=rev
Author: luc_peuvrier
Date: 2011-10-28 03:13:13 +0000 (Fri, 28 Oct 2011)
Log Message:
-----------
to break infinite loop in case of problems
Modified Paths:
--------------
trunk/joafip-rbtree/src/main/java/net/sf/joafip/redblacktree/service/RedBlackTree.java
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <luc...@us...> - 2011-10-27 01:46:09
|
Revision: 2941
http://joafip.svn.sourceforge.net/joafip/?rev=2941&view=rev
Author: luc_peuvrier
Date: 2011-10-27 01:46:02 +0000 (Thu, 27 Oct 2011)
Log Message:
-----------
test added for auto save
Modified Paths:
--------------
trunk/joafip/src/main/java/net/sf/joafip/service/AbstractDataAccessSession.java
trunk/joafip/src/main/java/net/sf/joafip/service/AbstractFilePersistenceDelegatingToStore.java
trunk/joafip/src/main/java/net/sf/joafip/service/ExclusiveDataAccessSession.java
trunk/joafip/src/main/java/net/sf/joafip/service/FilePersistence.java
trunk/joafip/src/main/java/net/sf/joafip/service/IDataAccessSessionCommon.java
trunk/joafip/src/main/java/net/sf/joafip/service/IExclusiveDataAccessSession.java
trunk/joafip/src/main/java/net/sf/joafip/store/entity/objectio/ObjectAndPersistInfo.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/IStore.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/Store.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/ProxyCallBack.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/ProxyManager2.java
trunk/joafip/src/test/java/net/sf/joafip/entity/rel400/BobASDelegatingListenDelegate.java
trunk/joafip/src/test/java/net/sf/joafip/entity/rel400/BobAsDelegateNotifyDelegating.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestAutoSave.java
Modified: trunk/joafip/src/main/java/net/sf/joafip/service/AbstractDataAccessSession.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/service/AbstractDataAccessSession.java 2011-10-24 02:59:20 UTC (rev 2940)
+++ trunk/joafip/src/main/java/net/sf/joafip/service/AbstractDataAccessSession.java 2011-10-27 01:46:02 UTC (rev 2941)
@@ -184,6 +184,22 @@
}
@Override
+ public Object getObject(final long dataRecordIdentifier)
+ throws FilePersistenceException,
+ FilePersistenceClassNotFoundException,
+ FilePersistenceInvalidClassException,
+ FilePersistenceDataCorruptedException,
+ FilePersistenceNotSerializableException {
+ final Object object;
+ synchronized (mutex) {
+ assertPersistenceOpenned();
+ assertOpened();
+ object = filePersistence.getObject(dataRecordIdentifier);
+ }
+ return object;
+ }
+
+ @Override
@Deprecated
public void setEnumState(final Enum<?> enumObject)
throws FilePersistenceException {
Modified: trunk/joafip/src/main/java/net/sf/joafip/service/AbstractFilePersistenceDelegatingToStore.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/service/AbstractFilePersistenceDelegatingToStore.java 2011-10-24 02:59:20 UTC (rev 2940)
+++ trunk/joafip/src/main/java/net/sf/joafip/service/AbstractFilePersistenceDelegatingToStore.java 2011-10-27 01:46:02 UTC (rev 2941)
@@ -1300,7 +1300,6 @@
}
}
- @Fortest
public Object createObjectReadingInStoreOrGetExisting(
final DataRecordIdentifier dataRecordIdentifier)
throws FilePersistenceException,
Modified: trunk/joafip/src/main/java/net/sf/joafip/service/ExclusiveDataAccessSession.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/service/ExclusiveDataAccessSession.java 2011-10-24 02:59:20 UTC (rev 2940)
+++ trunk/joafip/src/main/java/net/sf/joafip/service/ExclusiveDataAccessSession.java 2011-10-27 01:46:02 UTC (rev 2941)
@@ -24,6 +24,7 @@
import net.sf.joafip.NoStorableAccess;
import net.sf.joafip.NotStorableClass;
+import net.sf.joafip.entity.EnumFilePersistenceCloseAction;
import net.sf.joafip.store.service.proxy.IInstanceFactory;
/**
@@ -88,11 +89,22 @@
FilePersistenceClassNotFoundException,
FilePersistenceDataCorruptedException,
FilePersistenceTooBigForSerializationException {
+ close(EnumFilePersistenceCloseAction.SAVE);
+ }
+
+ @Override
+ public void close(final EnumFilePersistenceCloseAction action)
+ throws FilePersistenceException,
+ FilePersistenceInvalidClassException,
+ FilePersistenceNotSerializableException,
+ FilePersistenceClassNotFoundException,
+ FilePersistenceDataCorruptedException,
+ FilePersistenceTooBigForSerializationException {
synchronized (mutex) {
try {
assertPersistenceOpenned();
assertOpened();
- filePersistence.endExclusiveUse(this);
+ filePersistence.endExclusiveUse(this, action);
} catch (final FilePersistenceException exception) {
logger.error(CLOSE_ERROR, exception);
throw exception;
Modified: trunk/joafip/src/main/java/net/sf/joafip/service/FilePersistence.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/service/FilePersistence.java 2011-10-24 02:59:20 UTC (rev 2940)
+++ trunk/joafip/src/main/java/net/sf/joafip/service/FilePersistence.java 2011-10-27 01:46:02 UTC (rev 2941)
@@ -38,6 +38,7 @@
import net.sf.joafip.entity.FilePersistencePropertyEntry;
import net.sf.joafip.file.service.FileIOException;
import net.sf.joafip.heapfile.entity.EnumFileState;
+import net.sf.joafip.heapfile.record.entity.DataRecordIdentifier;
import net.sf.joafip.heapfile.service.HeapFileState;
import net.sf.joafip.heapfile.service.IHeapDataManager;
import net.sf.joafip.java.util.PTreeMap;
@@ -1030,8 +1031,10 @@
}
}
- void endExclusiveUse(// NOPMD
- final IExclusiveDataAccessSession exclusiveDataAccessSession)
+ @SuppressWarnings("PMD")
+ void endExclusiveUse(
+ final IExclusiveDataAccessSession exclusiveDataAccessSession,
+ final EnumFilePersistenceCloseAction action)
throws FilePersistenceException,
FilePersistenceInvalidClassException,
FilePersistenceNotSerializableException,
@@ -1047,7 +1050,23 @@
throw new FilePersistenceException(
"alone data access session miss match");
}
- save(true, false);
+
+ // save(true, false);
+ switch (action) {
+ case SAVE:
+ save(true, false);
+ break;
+ case DO_NOT_SAVE:
+ doNotSave();
+ break;
+ case CLEAR:
+ clearStoreContent();
+ break;
+ default:
+ throw new FilePersistenceException("unknow action "
+ + this.action);
+ }
+
this.exclusiveDataAccessSession = null;// NOPMD
storeEndAccessSession();
} catch (final FilePersistenceException exception) {
@@ -1362,6 +1381,20 @@
}
}
+ @SuppressWarnings("PMD")
+ @StorableAccess
+ Object getObject(final long dataRecordIdentifier)
+ throws FilePersistenceException,
+ FilePersistenceClassNotFoundException,
+ FilePersistenceInvalidClassException,
+ FilePersistenceDataCorruptedException,
+ FilePersistenceNotSerializableException {
+ synchronized (mutex) {
+ return createObjectReadingInStoreOrGetExisting(new DataRecordIdentifier(
+ dataRecordIdentifier));
+ }
+ }
+
/**
* add a persistent object associated to a key
*
Modified: trunk/joafip/src/main/java/net/sf/joafip/service/IDataAccessSessionCommon.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/service/IDataAccessSessionCommon.java 2011-10-24 02:59:20 UTC (rev 2940)
+++ trunk/joafip/src/main/java/net/sf/joafip/service/IDataAccessSessionCommon.java 2011-10-27 01:46:02 UTC (rev 2941)
@@ -101,8 +101,15 @@
* @throws FilePersistenceException
* this data access session not opened
*/
- Object getObject(final String key) throws FilePersistenceException;
+ Object getObject(String key) throws FilePersistenceException;
+ Object getObject(long dataRecordIdentifier)
+ throws FilePersistenceException,
+ FilePersistenceClassNotFoundException,
+ FilePersistenceInvalidClassException,
+ FilePersistenceDataCorruptedException,
+ FilePersistenceNotSerializableException;
+
/**
* add a persistent object associated to a key<br>
*
@@ -114,8 +121,7 @@
* @throws FilePersistenceException
* this data access session not opened
*/
- Object setObject(final String key, final Object object)
- throws FilePersistenceException;
+ Object setObject(String key, Object object) throws FilePersistenceException;
/**
* remove a persistent object associated to a key<br>
@@ -126,7 +132,7 @@
* @throws FilePersistenceException
* this data access session not opened
*/
- Object removeObject(final String key) throws FilePersistenceException;
+ Object removeObject(String key) throws FilePersistenceException;
/**
* remove all persistent object<br>
@@ -143,7 +149,7 @@
* @throws FilePersistenceException
*/
@Deprecated
- void setEnumState(final Enum<?> enumObject) throws FilePersistenceException;
+ void setEnumState(Enum<?> enumObject) throws FilePersistenceException;
/**
*
Modified: trunk/joafip/src/main/java/net/sf/joafip/service/IExclusiveDataAccessSession.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/service/IExclusiveDataAccessSession.java 2011-10-24 02:59:20 UTC (rev 2940)
+++ trunk/joafip/src/main/java/net/sf/joafip/service/IExclusiveDataAccessSession.java 2011-10-27 01:46:02 UTC (rev 2941)
@@ -22,6 +22,7 @@
*/
package net.sf.joafip.service;
+import net.sf.joafip.entity.EnumFilePersistenceCloseAction;
import net.sf.joafip.store.service.proxy.IInstanceFactory;
/**
@@ -86,4 +87,12 @@
FilePersistenceDataCorruptedException,
FilePersistenceTooBigForSerializationException;
+ void close(EnumFilePersistenceCloseAction action)
+ throws FilePersistenceException,
+ FilePersistenceInvalidClassException,
+ FilePersistenceNotSerializableException,
+ FilePersistenceClassNotFoundException,
+ FilePersistenceDataCorruptedException,
+ FilePersistenceTooBigForSerializationException;
+
}
Modified: trunk/joafip/src/main/java/net/sf/joafip/store/entity/objectio/ObjectAndPersistInfo.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/store/entity/objectio/ObjectAndPersistInfo.java 2011-10-24 02:59:20 UTC (rev 2940)
+++ trunk/joafip/src/main/java/net/sf/joafip/store/entity/objectio/ObjectAndPersistInfo.java 2011-10-27 01:46:02 UTC (rev 2941)
@@ -438,9 +438,9 @@
}
public boolean referenceLost() {
- return weakReference!=null && weakReference.get()==null;
+ return weakReference != null && weakReference.get() == null;
}
-
+
@Override
public Object getObject() {
final Object result;
Modified: trunk/joafip/src/main/java/net/sf/joafip/store/service/IStore.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/store/service/IStore.java 2011-10-24 02:59:20 UTC (rev 2940)
+++ trunk/joafip/src/main/java/net/sf/joafip/store/service/IStore.java 2011-10-27 01:46:02 UTC (rev 2941)
@@ -770,8 +770,6 @@
ClassInfo getClassInfoInDataRecord(DataRecordIdentifier dataRecordIdentifier)
throws StoreException;
- @Fortest
- // FIXMELUC may be used by export
ObjectAndPersistInfo createObjectReadingInStoreOrGetExisting(
DataRecordIdentifier dataRecordIdentifier, boolean notLazy)
throws StoreException, StoreClassNotFoundException,
Modified: trunk/joafip/src/main/java/net/sf/joafip/store/service/Store.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/store/service/Store.java 2011-10-24 02:59:20 UTC (rev 2940)
+++ trunk/joafip/src/main/java/net/sf/joafip/store/service/Store.java 2011-10-27 01:46:02 UTC (rev 2941)
@@ -1459,7 +1459,6 @@
return changeLogEnabled;
}
- @Fortest
@Override
public ObjectAndPersistInfo createObjectReadingInStoreOrGetExisting(
final DataRecordIdentifier dataRecordIdentifier,
Modified: trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/ProxyCallBack.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/ProxyCallBack.java 2011-10-24 02:59:20 UTC (rev 2940)
+++ trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/ProxyCallBack.java 2011-10-27 01:46:02 UTC (rev 2941)
@@ -203,14 +203,7 @@
}
if (!exclusiveAccessSession || inObjectCount == 1) {
if (exclusiveAccessSession) {
- try {
- objectIOManager.objectIsAccessed(getInstance$JOAFIP$());
- } catch (Exception exception) {
- LOGGER.error("method begin interception error",
- exception);
- throw new ProxyInterceptException(getInstance$JOAFIP$()
- .toString(), exception);
- }
+ objectIsAccessed();
}
/*
@@ -253,12 +246,27 @@
}
}
+ private void objectIsAccessed() {
+ try {
+ objectIOManager.objectIsAccessed(getInstance$JOAFIP$());
+ } catch (Exception exception) {
+ LOGGER.error("method begin interception error", exception);
+ final ObjectAndPersistInfo instance = getInstance$JOAFIP$();
+ final String instanceToString = instance == null ? "no instance"
+ : instance.toString();
+ throw new ProxyInterceptException(instanceToString, exception);
+ }
+ }
+
@SuppressWarnings("PMD")
@Override
public void constructorEnd$JOAFIP$() {
inObjectCount--;
assert inObjectCount >= 0 : "running in object count can not be negative, is "
+ inObjectCount;
+ // if (objectIOManager != null) {
+ // objectIsAccessed();
+ // }
}
@Override
Modified: trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/ProxyManager2.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/ProxyManager2.java 2011-10-24 02:59:20 UTC (rev 2940)
+++ trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/ProxyManager2.java 2011-10-27 01:46:02 UTC (rev 2941)
@@ -282,6 +282,7 @@
assert getProxyCallBack(instanceCreated) != NULL_PROXY_CALL_BACK_INSTANCE;
// set is loaded last for auto save
objectAndPersistInfo.setIsLoaded();
+ objectAndPersistInfo.acceded = false;
}
} else {
// FIXMELUC ___________one method for objectAndPersistInfo action
@@ -298,6 +299,7 @@
*/
// set is loaded last for auto save
setIsLoaded(instanceCreated);
+ objectAndPersistInfo.acceded = false;
}
return objectAndPersistInfo;
}
@@ -536,6 +538,7 @@
existing.initialize$JOAFIP$(proxyCallBack);
existing.setInstance$JOAFIP$(objectAndPersistInfo);
objectAndPersistInfo.setProxyCallBack(existing);
+ objectAndPersistInfo.acceded = true;
}
} else {
final IProxyCallBack proxy = (IProxyCallBack) object;
@@ -549,6 +552,7 @@
existing.initialize$JOAFIP$(proxyCallBack);
existing.setInstance$JOAFIP$(objectAndPersistInfo);
objectAndPersistInfo.setProxyCallBack(existing);
+ objectAndPersistInfo.acceded = true;
}
}
} else {
Modified: trunk/joafip/src/test/java/net/sf/joafip/entity/rel400/BobASDelegatingListenDelegate.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/entity/rel400/BobASDelegatingListenDelegate.java 2011-10-24 02:59:20 UTC (rev 2940)
+++ trunk/joafip/src/test/java/net/sf/joafip/entity/rel400/BobASDelegatingListenDelegate.java 2011-10-27 01:46:02 UTC (rev 2941)
@@ -80,4 +80,8 @@
public void delegateNotification() {
// delegate notification
}
+
+ public BobAsDelegateNotifyDelegating getDelegate() {
+ return delegate;
+ }
}
Modified: trunk/joafip/src/test/java/net/sf/joafip/entity/rel400/BobAsDelegateNotifyDelegating.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/entity/rel400/BobAsDelegateNotifyDelegating.java 2011-10-24 02:59:20 UTC (rev 2940)
+++ trunk/joafip/src/test/java/net/sf/joafip/entity/rel400/BobAsDelegateNotifyDelegating.java 2011-10-27 01:46:02 UTC (rev 2941)
@@ -61,4 +61,8 @@
public void action() {
bobASDelegatingListenDelegate.delegateNotification();
}
+
+ public BobASDelegatingListenDelegate getBobASDelegatingListenDelegate() {
+ return bobASDelegatingListenDelegate;
+ }
}
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 2011-10-24 02:59:20 UTC (rev 2940)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestAutoSave.java 2011-10-27 01:46:02 UTC (rev 2941)
@@ -30,8 +30,10 @@
import net.sf.joafip.StorableAccess;
import net.sf.joafip.TestConstant;
import net.sf.joafip.TestException;
+import net.sf.joafip.entity.EnumFilePersistenceCloseAction;
import net.sf.joafip.entity.rel400.BobASDelegatingListenDelegate;
import net.sf.joafip.entity.rel400.BobASWithTransientCaller;
+import net.sf.joafip.entity.rel400.BobAsDelegateNotifyDelegating;
import net.sf.joafip.entity.rel400.BobForAutoSaveTest;
import net.sf.joafip.entity.rel400.KeyDef;
import net.sf.joafip.java.util.PTreeMap;
@@ -382,6 +384,31 @@
assertTrue("bad state saved", bob.isConstructed());
}
+ public void testSaveInConstruction5() throws FilePersistenceException,
+ FilePersistenceClassNotFoundException,
+ FilePersistenceInvalidClassException,
+ FilePersistenceDataCorruptedException,
+ FilePersistenceNotSerializableException,
+ FilePersistenceTooBigForSerializationException, ProxyException {
+ final IInstanceFactory instanceFactory = session.getInstanceFactory();
+ assertNotNull(MUST_HAS_INSTANCE_FACTORY, instanceFactory);
+
+ session.open();
+ BobASDelegatingListenDelegate bob = BobASDelegatingListenDelegate
+ .newInstance(instanceFactory);
+ BobAsDelegateNotifyDelegating delegate = bob.getDelegate();
+ final long delegateDataRecordIdentifier = ProxyManager2
+ .getObjectAndPersistInfo(delegate).dataRecordIdentifier.value;
+ bob = null;// NOPMD unreference
+ session.close(EnumFilePersistenceCloseAction.DO_NOT_SAVE);
+
+ session.open();
+ delegate = (BobAsDelegateNotifyDelegating) session
+ .getObject(delegateDataRecordIdentifier);
+ bob = delegate.getBobASDelegatingListenDelegate();
+ assertNotNull("bob is in bad state", bob.getDelegate());
+ }
+
public void testWithTransient() throws FilePersistenceException,
FilePersistenceClassNotFoundException,
FilePersistenceInvalidClassException,
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <luc...@us...> - 2011-10-27 01:46:09
|
Revision: 2941
http://joafip.svn.sourceforge.net/joafip/?rev=2941&view=rev
Author: luc_peuvrier
Date: 2011-10-27 01:46:02 +0000 (Thu, 27 Oct 2011)
Log Message:
-----------
test added for auto save
Modified Paths:
--------------
trunk/joafip/src/main/java/net/sf/joafip/service/AbstractDataAccessSession.java
trunk/joafip/src/main/java/net/sf/joafip/service/AbstractFilePersistenceDelegatingToStore.java
trunk/joafip/src/main/java/net/sf/joafip/service/ExclusiveDataAccessSession.java
trunk/joafip/src/main/java/net/sf/joafip/service/FilePersistence.java
trunk/joafip/src/main/java/net/sf/joafip/service/IDataAccessSessionCommon.java
trunk/joafip/src/main/java/net/sf/joafip/service/IExclusiveDataAccessSession.java
trunk/joafip/src/main/java/net/sf/joafip/store/entity/objectio/ObjectAndPersistInfo.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/IStore.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/Store.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/ProxyCallBack.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/ProxyManager2.java
trunk/joafip/src/test/java/net/sf/joafip/entity/rel400/BobASDelegatingListenDelegate.java
trunk/joafip/src/test/java/net/sf/joafip/entity/rel400/BobAsDelegateNotifyDelegating.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestAutoSave.java
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <luc...@us...> - 2011-10-24 02:59:27
|
Revision: 2940
http://joafip.svn.sourceforge.net/joafip/?rev=2940&view=rev
Author: luc_peuvrier
Date: 2011-10-24 02:59:20 +0000 (Mon, 24 Oct 2011)
Log Message:
-----------
auto save now ok
Modified Paths:
--------------
trunk/joafip-testsuite/src/main/java/net/sf/joafip/InErrorTests.java
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <luc...@us...> - 2011-10-24 02:59:27
|
Revision: 2940
http://joafip.svn.sourceforge.net/joafip/?rev=2940&view=rev
Author: luc_peuvrier
Date: 2011-10-24 02:59:20 +0000 (Mon, 24 Oct 2011)
Log Message:
-----------
auto save now ok
Modified Paths:
--------------
trunk/joafip-testsuite/src/main/java/net/sf/joafip/InErrorTests.java
Modified: trunk/joafip-testsuite/src/main/java/net/sf/joafip/InErrorTests.java
===================================================================
--- trunk/joafip-testsuite/src/main/java/net/sf/joafip/InErrorTests.java 2011-10-24 02:37:36 UTC (rev 2939)
+++ trunk/joafip-testsuite/src/main/java/net/sf/joafip/InErrorTests.java 2011-10-24 02:59:20 UTC (rev 2940)
@@ -24,8 +24,10 @@
import junit.framework.Test;
import junit.framework.TestSuite;
-import net.sf.joafip.service.rel400.TestSaveInExclusiveDataAccessSession;
-import net.sf.joafip.store.service.TestStoreVisitedModified;
+import net.sf.joafip.service.rel400.TestAutoSave;
+import net.sf.joafip.service.rel400.TestRuntime310Garbage;
+import net.sf.joafip.store.service.proxy.TestProxyCreation;
+import net.sf.joafip.store.service.proxy.TestProxyCreationConstructed;
/**
*
@@ -42,8 +44,10 @@
public static Test suite() {
final TestSuite suite = new TestSuite("in error Tests");
// $JUnit-BEGIN$
- suite.addTestSuite(TestStoreVisitedModified.class);
- suite.addTestSuite(TestSaveInExclusiveDataAccessSession.class);
+ suite.addTestSuite(TestProxyCreation.class);
+ suite.addTestSuite(TestProxyCreationConstructed.class);
+ suite.addTestSuite(TestRuntime310Garbage.class);
+ suite.addTestSuite(TestAutoSave.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...> - 2011-10-24 02:37:43
|
Revision: 2939
http://joafip.svn.sourceforge.net/joafip/?rev=2939&view=rev
Author: luc_peuvrier
Date: 2011-10-24 02:37:36 +0000 (Mon, 24 Oct 2011)
Log Message:
-----------
management of loose of reference on original value
Modified Paths:
--------------
trunk/joafip/src/main/java/net/sf/joafip/store/entity/objectio/ObjectAndPersistInfo.java
trunk/joafip/src/main/java/net/sf/joafip/store/entity/objectio/ObjectClassInfoAndDeclared.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/objectio/serialize/output/AbstractObjectOutput.java
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <luc...@us...> - 2011-10-24 02:37:42
|
Revision: 2939
http://joafip.svn.sourceforge.net/joafip/?rev=2939&view=rev
Author: luc_peuvrier
Date: 2011-10-24 02:37:36 +0000 (Mon, 24 Oct 2011)
Log Message:
-----------
management of loose of reference on original value
Modified Paths:
--------------
trunk/joafip/src/main/java/net/sf/joafip/store/entity/objectio/ObjectAndPersistInfo.java
trunk/joafip/src/main/java/net/sf/joafip/store/entity/objectio/ObjectClassInfoAndDeclared.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/objectio/serialize/output/AbstractObjectOutput.java
Modified: trunk/joafip/src/main/java/net/sf/joafip/store/entity/objectio/ObjectAndPersistInfo.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/store/entity/objectio/ObjectAndPersistInfo.java 2011-10-24 02:36:09 UTC (rev 2938)
+++ trunk/joafip/src/main/java/net/sf/joafip/store/entity/objectio/ObjectAndPersistInfo.java 2011-10-24 02:37:36 UTC (rev 2939)
@@ -437,6 +437,10 @@
return result;
}
+ public boolean referenceLost() {
+ return weakReference!=null && weakReference.get()==null;
+ }
+
@Override
public Object getObject() {
final Object result;
@@ -444,7 +448,7 @@
result = this.object;
} else {
result = weakReference.get();
- assert result != null : "reference loose " + toString();
+ assert result != null : "reference lost " + toString();
}
return result;
}
Modified: trunk/joafip/src/main/java/net/sf/joafip/store/entity/objectio/ObjectClassInfoAndDeclared.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/store/entity/objectio/ObjectClassInfoAndDeclared.java 2011-10-24 02:36:09 UTC (rev 2938)
+++ trunk/joafip/src/main/java/net/sf/joafip/store/entity/objectio/ObjectClassInfoAndDeclared.java 2011-10-24 02:37:36 UTC (rev 2939)
@@ -78,6 +78,10 @@
return toWriteObjectClassInfo;
}
+ public boolean referenceLost() {
+ return objectAndPersistInfo.referenceLost();
+ }
+
public Object getObject() {
return objectAndPersistInfo.getObject();
}
Modified: trunk/joafip/src/main/java/net/sf/joafip/store/service/objectio/serialize/output/AbstractObjectOutput.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/store/service/objectio/serialize/output/AbstractObjectOutput.java 2011-10-24 02:36:09 UTC (rev 2938)
+++ trunk/joafip/src/main/java/net/sf/joafip/store/service/objectio/serialize/output/AbstractObjectOutput.java 2011-10-24 02:37:36 UTC (rev 2939)
@@ -428,11 +428,10 @@
* @param referencingObject
* the referencing object
* @param originalReferenced
- * the original (previously) referenced object by referencing,
- * can be null if no previously referenced
+ * the original (previously) referenced object, can be null if no
+ * previously referenced
* @param referencedObject
- * the referenced object by referencing, can be null if no more
- * referenced
+ * the referenced object, can be null if no more referenced
* @param referenceChangeList
* @return true if referencing object state changed
* @throws ObjectIOException
@@ -444,22 +443,28 @@
final List<ReferenceChange> referenceChangeList)
throws ObjectIOException {
final boolean stateChanged;
- final Object originalObject = originalReferenced.getObject();
- final Object object = referencedObject.getObject();
- final ClassInfo referencedClassInfo = referencedObject
- .getToWriteObjectClassInfo();
- /*
- * the test below needed since primitive and its equivalent object have
- * not same class
- */
- if (referencedClassInfo.isBasicType()) {
- stateChanged = originalObject == null && object != null
- || originalObject != null && !originalObject.equals(object);
- } else if (originalObject != object) {// NOPMD compare
- // instance
+ // FIXMELUC ________________________only for exclusive das
+ if (originalReferenced.referenceLost()) {
stateChanged = true;
} else {
- stateChanged = false;
+ final Object originalObject = originalReferenced.getObject();
+ final Object object = referencedObject.getObject();
+ final ClassInfo referencedClassInfo = referencedObject
+ .getToWriteObjectClassInfo();
+ /*
+ * the test below needed since primitive and its equivalent object
+ * have not same class
+ */
+ if (referencedClassInfo.isBasicType()) {
+ stateChanged = originalObject == null && object != null
+ || originalObject != null
+ && !originalObject.equals(object);
+ } else if (originalObject != object) {// NOPMD compare
+ // instance
+ stateChanged = true;
+ } else {
+ stateChanged = false;
+ }
}
if (stateChanged && garbageManagement) {
referencedChanged(referencingObject, referencedObject,
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <luc...@us...> - 2011-10-24 02:36:16
|
Revision: 2938
http://joafip.svn.sourceforge.net/joafip/?rev=2938&view=rev
Author: luc_peuvrier
Date: 2011-10-24 02:36:09 +0000 (Mon, 24 Oct 2011)
Log Message:
-----------
auto save now ok
Modified Paths:
--------------
trunk/joafip-asm/src/main/java/net/sf/joafip/asm/Type.java
trunk/joafip-asm/src/test/java/net/sf/joafip/asm/util/TraceClassVisitor.java
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <luc...@us...> - 2011-10-24 02:36:16
|
Revision: 2938
http://joafip.svn.sourceforge.net/joafip/?rev=2938&view=rev
Author: luc_peuvrier
Date: 2011-10-24 02:36:09 +0000 (Mon, 24 Oct 2011)
Log Message:
-----------
auto save now ok
Modified Paths:
--------------
trunk/joafip-asm/src/main/java/net/sf/joafip/asm/Type.java
trunk/joafip-asm/src/test/java/net/sf/joafip/asm/util/TraceClassVisitor.java
Modified: trunk/joafip-asm/src/main/java/net/sf/joafip/asm/Type.java
===================================================================
--- trunk/joafip-asm/src/main/java/net/sf/joafip/asm/Type.java 2011-10-23 12:16:47 UTC (rev 2937)
+++ trunk/joafip-asm/src/main/java/net/sf/joafip/asm/Type.java 2011-10-24 02:36:09 UTC (rev 2938)
@@ -656,7 +656,7 @@
* @param c
* the class whose descriptor must be computed.
*/
- private static void getDescriptor(final StringBuffer buf, final Class c) {
+ public static void getDescriptor(final StringBuffer buf, final Class c) {
Class d = c;
while (true) {
if (d.isPrimitive()) {
Modified: trunk/joafip-asm/src/test/java/net/sf/joafip/asm/util/TraceClassVisitor.java
===================================================================
--- trunk/joafip-asm/src/test/java/net/sf/joafip/asm/util/TraceClassVisitor.java 2011-10-23 12:16:47 UTC (rev 2937)
+++ trunk/joafip-asm/src/test/java/net/sf/joafip/asm/util/TraceClassVisitor.java 2011-10-24 02:36:09 UTC (rev 2938)
@@ -83,7 +83,7 @@
* <pre>
* public class Hello {
* public static void main(String[] args) {
- * System .out. println("hello");
+ * System.out.println("hello");
* }
* }
* </pre>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <luc...@us...> - 2011-10-23 12:16:53
|
Revision: 2937
http://joafip.svn.sourceforge.net/joafip/?rev=2937&view=rev
Author: luc_peuvrier
Date: 2011-10-23 12:16:47 +0000 (Sun, 23 Oct 2011)
Log Message:
-----------
auto save now ok
Added Paths:
-----------
trunk/joafip-4test/src/main/java/asm/net/sf/joafip/asm/NewProxyCallBackDump.java
trunk/joafip-4test/src/main/java/net/sf/joafip/asm/MainAsmForNewProxyCallBack.java
trunk/joafip-4test/src/main/java/net/sf/joafip/asm/NewProxyCallBack.java
Added: trunk/joafip-4test/src/main/java/asm/net/sf/joafip/asm/NewProxyCallBackDump.java
===================================================================
--- trunk/joafip-4test/src/main/java/asm/net/sf/joafip/asm/NewProxyCallBackDump.java (rev 0)
+++ trunk/joafip-4test/src/main/java/asm/net/sf/joafip/asm/NewProxyCallBackDump.java 2011-10-23 12:16:47 UTC (rev 2937)
@@ -0,0 +1,76 @@
+package asm.net.sf.joafip.asm;
+
+import net.sf.joafip.asm.AnnotationVisitor;
+import net.sf.joafip.asm.ClassWriter;
+import net.sf.joafip.asm.FieldVisitor;
+import net.sf.joafip.asm.MethodVisitor;
+import net.sf.joafip.asm.Opcodes;
+
+@SuppressWarnings("PMD")
+public class NewProxyCallBackDump implements Opcodes {
+
+ @SuppressWarnings("unused")
+ public static byte[] dump() throws Exception {
+
+ ClassWriter cw = new ClassWriter(0);
+ FieldVisitor fv;
+ MethodVisitor mv;
+ AnnotationVisitor av0;
+
+ cw.visit(V1_6, ACC_PUBLIC + ACC_SUPER,
+ "net/sf/joafip/asm/NewProxyCallBack", null, "java/lang/Object",
+ null);
+
+ {
+ fv = cw.visitField(
+ ACC_PRIVATE + ACC_FINAL,
+ "proxyCallBack",
+ "Lnet/sf/joafip/store/service/proxy/IProxyCallBackProxyDelegation;",
+ null, null);
+ fv.visitEnd();
+ }
+ {
+ mv = cw.visitMethod(
+ ACC_PUBLIC,
+ "<init>",
+ "()V",
+ null,
+ new String[] { "net/sf/joafip/store/service/proxy/ProxyException" });
+ mv.visitCode();
+ mv.visitVarInsn(ALOAD, 0);
+ mv.visitMethodInsn(INVOKESPECIAL, "java/lang/Object", "<init>",
+ "()V");
+ mv.visitVarInsn(ALOAD, 0);
+ mv.visitTypeInsn(NEW,
+ "net/sf/joafip/store/service/proxy/ProxyCallBack");
+ mv.visitInsn(DUP);
+ mv.visitMethodInsn(INVOKESPECIAL,
+ "net/sf/joafip/store/service/proxy/ProxyCallBack",
+ "<init>", "()V");
+ mv.visitFieldInsn(PUTFIELD, "net/sf/joafip/asm/NewProxyCallBack",
+ "proxyCallBack",
+ "Lnet/sf/joafip/store/service/proxy/IProxyCallBackProxyDelegation;");
+ mv.visitInsn(RETURN);
+ mv.visitMaxs(3, 1);
+ mv.visitEnd();
+ }
+ {
+ mv = cw.visitMethod(
+ ACC_PUBLIC,
+ "getProxyCallBack",
+ "()Lnet/sf/joafip/store/service/proxy/IProxyCallBackProxyDelegation;",
+ null, null);
+ mv.visitCode();
+ mv.visitVarInsn(ALOAD, 0);
+ mv.visitFieldInsn(GETFIELD, "net/sf/joafip/asm/NewProxyCallBack",
+ "proxyCallBack",
+ "Lnet/sf/joafip/store/service/proxy/IProxyCallBackProxyDelegation;");
+ mv.visitInsn(ARETURN);
+ mv.visitMaxs(1, 1);
+ mv.visitEnd();
+ }
+ cw.visitEnd();
+
+ return cw.toByteArray();
+ }
+}
Added: trunk/joafip-4test/src/main/java/net/sf/joafip/asm/MainAsmForNewProxyCallBack.java
===================================================================
--- trunk/joafip-4test/src/main/java/net/sf/joafip/asm/MainAsmForNewProxyCallBack.java (rev 0)
+++ trunk/joafip-4test/src/main/java/net/sf/joafip/asm/MainAsmForNewProxyCallBack.java 2011-10-23 12:16:47 UTC (rev 2937)
@@ -0,0 +1,19 @@
+package net.sf.joafip.asm;
+
+import net.sf.joafip.asm.util.ASMifierClassVisitor;
+
+public final class MainAsmForNewProxyCallBack {
+
+ public static void main(final String[] args) {
+ try {
+ ASMifierClassVisitor.outAsm(false, NewProxyCallBack.class.getName(),
+ "src/main/java/asm/net/sf/joafip/asm/NewProxyCallBackDump.java");
+ } catch (Exception e) {
+ e.printStackTrace();// NOPMD
+ }
+ }
+
+ private MainAsmForNewProxyCallBack() {
+ super();
+ }
+}
Added: trunk/joafip-4test/src/main/java/net/sf/joafip/asm/NewProxyCallBack.java
===================================================================
--- trunk/joafip-4test/src/main/java/net/sf/joafip/asm/NewProxyCallBack.java (rev 0)
+++ trunk/joafip-4test/src/main/java/net/sf/joafip/asm/NewProxyCallBack.java 2011-10-23 12:16:47 UTC (rev 2937)
@@ -0,0 +1,20 @@
+package net.sf.joafip.asm;
+
+import net.sf.joafip.store.service.proxy.IProxyCallBackProxyDelegation;
+import net.sf.joafip.store.service.proxy.ProxyCallBack;
+import net.sf.joafip.store.service.proxy.ProxyException;
+
+public class NewProxyCallBack {
+
+ private final IProxyCallBackProxyDelegation proxyCallBack;
+
+ public NewProxyCallBack()
+ throws ProxyException {
+ super();
+ proxyCallBack=new ProxyCallBack();
+ }
+
+ public IProxyCallBackProxyDelegation getProxyCallBack() {
+ return proxyCallBack;
+ }
+}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <luc...@us...> - 2011-10-23 12:16:53
|
Revision: 2937
http://joafip.svn.sourceforge.net/joafip/?rev=2937&view=rev
Author: luc_peuvrier
Date: 2011-10-23 12:16:47 +0000 (Sun, 23 Oct 2011)
Log Message:
-----------
auto save now ok
Added Paths:
-----------
trunk/joafip-4test/src/main/java/asm/net/sf/joafip/asm/NewProxyCallBackDump.java
trunk/joafip-4test/src/main/java/net/sf/joafip/asm/MainAsmForNewProxyCallBack.java
trunk/joafip-4test/src/main/java/net/sf/joafip/asm/NewProxyCallBack.java
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <luc...@us...> - 2011-10-23 11:38:03
|
Revision: 2936
http://joafip.svn.sourceforge.net/joafip/?rev=2936&view=rev
Author: luc_peuvrier
Date: 2011-10-23 11:37:55 +0000 (Sun, 23 Oct 2011)
Log Message:
-----------
auto save now ok
Modified Paths:
--------------
trunk/joafip/src/main/java/net/sf/joafip/service/IFilePersistence.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/Store.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/bytecode/proxy/EnhanceCodeGenerator.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/objectio/manager/AbstractObjectIOManagerDelegatingToStateMap.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/objectio/manager/ObjectIOManager.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/DetachedProxyCallBack.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/IProxyCallBackProxyDelegation.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/IProxyCallBackToImplement.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/NullProxyCallBack.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/ProxyCallBack.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/ProxyManager2.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/StaticProxyCallBack.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestTreeListIteratorIntercept.java
trunk/joafip/src/test/java/net/sf/joafip/service/sync/TestSynchronizedCollection.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/copier/AbstractTestDeepCopier.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/AbstractObjectIoManagerForProxyTest.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/ProxyCallBackForTest.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/TestProxyCreation.java
Modified: trunk/joafip/src/main/java/net/sf/joafip/service/IFilePersistence.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/service/IFilePersistence.java 2011-10-22 03:38:16 UTC (rev 2935)
+++ trunk/joafip/src/main/java/net/sf/joafip/service/IFilePersistence.java 2011-10-23 11:37:55 UTC (rev 2936)
@@ -1195,12 +1195,22 @@
void keptInMemory(final String key, final Object object)
throws FilePersistenceException;
- // FIXMELUC _______________javadoc
+ /**
+ * instance referenced by static field of class are kept in memory
+ *
+ * @param classHavingStaticFieldReferenced
+ * @throws FilePersistenceException
+ */
void referencedByPesistedStaticField(
Class<?> classHavingStaticFieldReferenced)
throws FilePersistenceException;
- // FIXMELUC _______________javadoc
+ /**
+ * instance referenced by static field of classes are kept in memory
+ *
+ * @param classHavingStaticFieldReferenced
+ * @throws FilePersistenceException
+ */
void referencedByPesistedStaticField(
Class<?>[] classHavingStaticFieldReferenced)
throws FilePersistenceException;
Modified: trunk/joafip/src/main/java/net/sf/joafip/store/service/Store.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/store/service/Store.java 2011-10-22 03:38:16 UTC (rev 2935)
+++ trunk/joafip/src/main/java/net/sf/joafip/store/service/Store.java 2011-10-23 11:37:55 UTC (rev 2936)
@@ -1024,23 +1024,18 @@
ObjectIOClassNotFoundException, ObjectIOInvalidClassException,
ObjectIODataCorruptedException, ObjectIONotSerializableException {
- try {
- proxyManager2.setCreateEntryinObjectMap(false);
- final Map<EnumKey, Enum<?>> storeRootEnumMap = getStoredEnumMap();
- if (storeRootEnumMap != null) {
- final Collection<Enum<?>> values = storeRootEnumMap.values();
- final Iterator<Enum<?>> iterator = values.iterator();
- while (iterator.hasNext()) {
- final Enum<?> enumValue = iterator.next();
- /* just to force state setting of persisted value */
- if (enumValue != null) {
- // not null, not a no more existing enum
- objectIOManager.reInitializeEnum(enumValue);
- }
+ final Map<EnumKey, Enum<?>> storeRootEnumMap = getStoredEnumMap();
+ if (storeRootEnumMap != null) {
+ final Collection<Enum<?>> values = storeRootEnumMap.values();
+ final Iterator<Enum<?>> iterator = values.iterator();
+ while (iterator.hasNext()) {
+ final Enum<?> enumValue = iterator.next();
+ /* just to force state setting of persisted value */
+ if (enumValue != null) {
+ // not null, not a no more existing enum
+ objectIOManager.reInitializeEnum(enumValue);
}
}
- } finally {
- proxyManager2.setCreateEntryinObjectMap(true);
}
}
Modified: trunk/joafip/src/main/java/net/sf/joafip/store/service/bytecode/proxy/EnhanceCodeGenerator.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/store/service/bytecode/proxy/EnhanceCodeGenerator.java 2011-10-22 03:38:16 UTC (rev 2935)
+++ trunk/joafip/src/main/java/net/sf/joafip/store/service/bytecode/proxy/EnhanceCodeGenerator.java 2011-10-23 11:37:55 UTC (rev 2936)
@@ -40,7 +40,7 @@
import net.sf.joafip.store.service.proxy.IProxyCallBackProxyDelegation;
import net.sf.joafip.store.service.proxy.IProxyCallBackToImplement;
import net.sf.joafip.store.service.proxy.IProxyInternal;
-import net.sf.joafip.store.service.proxy.NullProxyCallBack;
+import net.sf.joafip.store.service.proxy.ProxyCallBack;
/**
* generate enhancement byte code
@@ -85,11 +85,6 @@
private String forceLoadMethodDesc;
- private static final String SET_IN_CONSTRUCTION_METHOD_NAME =
- /**/"setInConstruction$JOAFIP$";
-
- private String setInConstructionMethodDesc;
-
private static final String[] FORCE_LOAD_EXCEPTION = new String[] {
/**/Type.getInternalName(ObjectIOException.class),
/**/Type.getInternalName(ObjectIODataRecordNotFoundException.class),
@@ -117,6 +112,11 @@
private String methodEndMethodDesc;
+ private static final String CONSTRUCTOR_END_METHOD_NAME =
+ /**/"constructorEnd$JOAFIP$";
+
+ private String constructorEndMethodDesc;
+
private static final String SET_PROXY_CALL_BACK_METHOD_NAME =
/**/"setProxyCallBack$JOAFIP$";
@@ -146,6 +146,11 @@
private static final String I_PROXY_CALL_BACK_DELEGATION_DESC =
/**/Type.getDescriptor(IProxyCallBackProxyDelegation.class);
+ private static final String PROXY_CALL_BACK =
+ /**/Type.getInternalName(ProxyCallBack.class);
+
+ private String proxyCallBackConstructorDesc;
+
private final static String[] INTERFACES = new String[] {
/**/Type.getInternalName(IProxyCallBack.class) };
@@ -156,12 +161,6 @@
private final static EnhanceCodeGenerator INSTANCE =
/**/new EnhanceCodeGenerator();
- private static final String NULL_PROXY_CALL_BACK_INTERNAL_NAME =
- /**/Type.getInternalName(NullProxyCallBack.class);
-
- private static final String NULL_PROXY_CALL_BACK_INTERNAL_DESC =
- /**/Type.getDescriptor(NullProxyCallBack.class);
-
public static EnhanceCodeGenerator getInstance() {
return INSTANCE;
}
@@ -194,11 +193,6 @@
forceLoadMethodDesc = Type.getMethodDescriptor(method);
method = IProxyCallBack.class.getMethod(
- /**/SET_IN_CONSTRUCTION_METHOD_NAME,
- /**/new Class[] { boolean.class });
- setInConstructionMethodDesc = Type.getMethodDescriptor(method);
-
- method = IProxyCallBack.class.getMethod(
/**/UNLOAD_METHOD_NAME,
/**/NO_PARAMETERS);
unloadMethodDesc = Type.getMethodDescriptor(method);
@@ -214,6 +208,11 @@
methodEndMethodDesc = Type.getMethodDescriptor(method);
method = IProxyCallBack.class.getMethod(
+ /**/CONSTRUCTOR_END_METHOD_NAME,
+ /**/NO_PARAMETERS);
+ constructorEndMethodDesc = Type.getMethodDescriptor(method);
+
+ method = IProxyCallBack.class.getMethod(
/**/IS_LOADED_METHOD_NAME,
/**/NO_PARAMETERS);
isLoadedMethodDesc = Type.getMethodDescriptor(method);
@@ -244,6 +243,11 @@
/**/NO_PARAMETERS);
getInstanceMethodDesc = Type.getMethodDescriptor(method);
+ final Constructor<ProxyCallBack> constructor = ProxyCallBack.class
+ .getConstructor(NO_PARAMETERS);
+ proxyCallBackConstructorDesc = Type
+ .getConstructorDescriptor(constructor);
+
initialized = true;
} catch (Exception exception) {
@@ -336,12 +340,13 @@
methodVisitor.visitCode();
methodVisitor.visitVarInsn(ALOAD, 0);
+
+ methodVisitor.visitTypeInsn(NEW, PROXY_CALL_BACK);
+ methodVisitor.visitInsn(DUP);
+ methodVisitor.visitMethodInsn(INVOKESPECIAL, PROXY_CALL_BACK,
+ INIT_METHOD_NAME, proxyCallBackConstructorDesc);
+
methodVisitor.visitFieldInsn(
- /**/GETSTATIC,
- /**/NULL_PROXY_CALL_BACK_INTERNAL_NAME,
- /**/"INSTANCE",
- /**/NULL_PROXY_CALL_BACK_INTERNAL_DESC);
- methodVisitor.visitFieldInsn(
/**/PUTFIELD,/* opcode */
/**/classInternalName,/* owner */
/**/PROXY_CALL_BACK_FIELD_NAME,/* name */
@@ -364,6 +369,13 @@
/**/INIT_METHOD_NAME,
/**/desc);
+ methodVisitor.visitVarInsn(ALOAD, 0);
+ methodVisitor.visitMethodInsn(
+ /**/INVOKEVIRTUAL,
+ /**/classInternalName,
+ /**/CONSTRUCTOR_END_METHOD_NAME,
+ /**/constructorEndMethodDesc);
+
methodVisitor.visitInsn(RETURN);
// FIXMELUC _visitmaxs call needed ?
@@ -466,44 +478,44 @@
methodVisitor.visitEnd();
/*
- * setInConstruction
+ * unload
*/
-
methodVisitor = classWriter.visitMethod(
/**/ACC_PUBLIC,
- /**/SET_IN_CONSTRUCTION_METHOD_NAME,
- /**/setInConstructionMethodDesc,
+ /**/UNLOAD_METHOD_NAME,
+ /**/unloadMethodDesc,
/**/null,
- /**/null);
+ /**/UNLOAD_EXCEPTION);
+
methodVisitor.visitCode();
+
methodVisitor.visitVarInsn(ALOAD, 0);
methodVisitor.visitFieldInsn(
/**/GETFIELD,
/**/classInternalName,
- /**/PROXY_CALL_BACK_FIELD_NAME, I_PROXY_CALL_BACK_DELEGATION_DESC);
- methodVisitor.visitVarInsn(ILOAD, 1);
+ /**/PROXY_CALL_BACK_FIELD_NAME,
+ /**/I_PROXY_CALL_BACK_DELEGATION_DESC);
methodVisitor.visitMethodInsn(
/**/INVOKEINTERFACE,
/**/I_PROXY_CALL_BACK_INTERFACE,
- /**/SET_IN_CONSTRUCTION_METHOD_NAME,
- /**/setInConstructionMethodDesc);
+ /**/UNLOAD_METHOD_NAME,
+ /**/unloadMethodDesc);
methodVisitor.visitInsn(RETURN);
+
// FIXMELUC _visitmaxs call needed ?
methodVisitor.visitMaxs(0, 0);
methodVisitor.visitEnd();
/*
- * unload
+ * intercept
*/
methodVisitor = classWriter.visitMethod(
/**/ACC_PUBLIC,
- /**/UNLOAD_METHOD_NAME,
- /**/unloadMethodDesc,
+ /**/INTERCEPT_METHOD_NAME,
+ /**/interceptMethodDesc,
/**/null,
- /**/UNLOAD_EXCEPTION);
-
+ /**/null);
methodVisitor.visitCode();
-
methodVisitor.visitVarInsn(ALOAD, 0);
methodVisitor.visitFieldInsn(
/**/GETFIELD,
@@ -513,21 +525,21 @@
methodVisitor.visitMethodInsn(
/**/INVOKEINTERFACE,
/**/I_PROXY_CALL_BACK_INTERFACE,
- /**/UNLOAD_METHOD_NAME,
- /**/unloadMethodDesc);
+ /**/INTERCEPT_METHOD_NAME,
+ /**/interceptMethodDesc);
methodVisitor.visitInsn(RETURN);
-
// FIXMELUC _visitmaxs call needed ?
methodVisitor.visitMaxs(0, 0);
methodVisitor.visitEnd();
/*
- * intercept
+ * constructor end
*/
+
methodVisitor = classWriter.visitMethod(
/**/ACC_PUBLIC,
- /**/INTERCEPT_METHOD_NAME,
- /**/interceptMethodDesc,
+ /**/CONSTRUCTOR_END_METHOD_NAME,
+ /**/constructorEndMethodDesc,
/**/null,
/**/null);
methodVisitor.visitCode();
@@ -540,8 +552,8 @@
methodVisitor.visitMethodInsn(
/**/INVOKEINTERFACE,
/**/I_PROXY_CALL_BACK_INTERFACE,
- /**/INTERCEPT_METHOD_NAME,
- /**/interceptMethodDesc);
+ /**/CONSTRUCTOR_END_METHOD_NAME,
+ /**/constructorEndMethodDesc);
methodVisitor.visitInsn(RETURN);
// FIXMELUC _visitmaxs call needed ?
methodVisitor.visitMaxs(0, 0);
Modified: trunk/joafip/src/main/java/net/sf/joafip/store/service/objectio/manager/AbstractObjectIOManagerDelegatingToStateMap.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/store/service/objectio/manager/AbstractObjectIOManagerDelegatingToStateMap.java 2011-10-22 03:38:16 UTC (rev 2935)
+++ trunk/joafip/src/main/java/net/sf/joafip/store/service/objectio/manager/AbstractObjectIOManagerDelegatingToStateMap.java 2011-10-23 11:37:55 UTC (rev 2936)
@@ -47,6 +47,9 @@
private final ObjectStateMgr objectStateMgr = new ObjectStateMgr();
+ /** true if exclusive data access session */
+ private boolean exclusiveAccessSession;
+
public AbstractObjectIOManagerDelegatingToStateMap(
final int currentDataModelIdentifier,
final IClassNameManager classNameManager, final boolean proxyMode,
@@ -81,10 +84,11 @@
IProxyCallBackToImplement proxyCallBack;
try {
proxyCallBack = new ProxyCallBack(this);
+ ProxyManager2.setProxyCallBack(objectAndPersistInfo,
+ proxyCallBack, exclusiveAccessSession);
} catch (ProxyException exception) {
throw new ObjectIOException(exception);
}
- ProxyManager2.setProxyCallBack(objectAndPersistInfo, proxyCallBack);
} else {
assert !ProxyManager2.isProxyOrEnhanced(object);
}
@@ -188,8 +192,14 @@
protected void setExclusiveAccessSessionDelegate(
final boolean exclusiveAccessSession) {
objectStateMgr.setExclusiveAccessSession(exclusiveAccessSession);
+ this.exclusiveAccessSession = exclusiveAccessSession;
}
+ @Override
+ public boolean isExclusiveAccessSession() {
+ return exclusiveAccessSession;
+ }
+
protected void setMaintainedInMemoryQuotaDelegate(
final int maintainedInMemoryQuota) {
objectStateMgr.setMaintainedInMemoryQuota(maintainedInMemoryQuota);
Modified: trunk/joafip/src/main/java/net/sf/joafip/store/service/objectio/manager/ObjectIOManager.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/store/service/objectio/manager/ObjectIOManager.java 2011-10-22 03:38:16 UTC (rev 2935)
+++ trunk/joafip/src/main/java/net/sf/joafip/store/service/objectio/manager/ObjectIOManager.java 2011-10-23 11:37:55 UTC (rev 2936)
@@ -120,9 +120,6 @@
/** file output stream to write change */
private FileOutputStream changeFileOutputStream;
- /** true if exclusive data access session */
- private boolean exclusiveAccessSession;
-
/** true if proxy notify object access */
// FIXMELUC ___no more needed ?
private boolean maintainInMemoryEnabled;// NOPMD
@@ -604,7 +601,6 @@
}
public void setExclusiveAccessSession(final boolean exclusiveAccessSession) {
- this.exclusiveAccessSession = exclusiveAccessSession;
super.setExclusiveAccessSessionDelegate(exclusiveAccessSession);
}
@@ -621,11 +617,6 @@
}
@Override
- public boolean isExclusiveAccessSession() {
- return exclusiveAccessSession;
- }
-
- @Override
public boolean isMaintainInMemoryEnabled() {
return maintainInMemoryEnabled;
}
Modified: trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/DetachedProxyCallBack.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/DetachedProxyCallBack.java 2011-10-22 03:38:16 UTC (rev 2935)
+++ trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/DetachedProxyCallBack.java 2011-10-23 11:37:55 UTC (rev 2936)
@@ -66,6 +66,12 @@
@SuppressWarnings("PMD")
@Override
+ public void constructorEnd$JOAFIP$() {
+ // no implementation
+ }
+
+ @SuppressWarnings("PMD")
+ @Override
public void methodEnd$JOAFIP$() {
// no implementation
}
@@ -121,10 +127,4 @@
public IObjectIOManagerForProxyObjectIO getObjectIOManager$JOAFIP$() {
throw new UnsupportedOperationException();
}
-
- @SuppressWarnings("PMD")
- @Override
- public void setInConstruction$JOAFIP$(final boolean inConstruction) {
- throw new UnsupportedOperationException();
- }
}
Modified: trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/IProxyCallBackProxyDelegation.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/IProxyCallBackProxyDelegation.java 2011-10-22 03:38:16 UTC (rev 2935)
+++ trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/IProxyCallBackProxyDelegation.java 2011-10-23 11:37:55 UTC (rev 2936)
@@ -46,6 +46,12 @@
void intercept$JOAFIP$();
/**
+ * constructor execution end
+ */
+ @SuppressWarnings("PMD")
+ void constructorEnd$JOAFIP$();
+
+ /**
* method execution end
*/
@SuppressWarnings("PMD")
@@ -110,7 +116,4 @@
@SuppressWarnings("PMD")
ObjectAndPersistInfo getInstance$JOAFIP$();
-
- @SuppressWarnings("PMD")
- void setInConstruction$JOAFIP$(boolean inConstruction);
}
Modified: trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/IProxyCallBackToImplement.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/IProxyCallBackToImplement.java 2011-10-22 03:38:16 UTC (rev 2935)
+++ trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/IProxyCallBackToImplement.java 2011-10-23 11:37:55 UTC (rev 2936)
@@ -51,8 +51,8 @@
IObjectIOManagerForProxyObjectIO objectIOManager)
throws ProxyException;
- @Fortest
@SuppressWarnings("PMD")
+ @Override
IObjectIOManagerForProxyObjectIO getObjectIOManager$JOAFIP$();
// @Fortest
@@ -69,4 +69,8 @@
@SuppressWarnings("PMD")
boolean isAutoSaveEnabled$JOAFIP$();
+
+ @SuppressWarnings("PMD")
+ void initialize$JOAFIP$(IProxyCallBackToImplement proxyCallBack)
+ throws ProxyException;
}
Modified: trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/NullProxyCallBack.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/NullProxyCallBack.java 2011-10-22 03:38:16 UTC (rev 2935)
+++ trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/NullProxyCallBack.java 2011-10-23 11:37:55 UTC (rev 2936)
@@ -48,6 +48,13 @@
}
@Override
+ @SuppressWarnings("PMD")
+ public void initialize$JOAFIP$(IProxyCallBackToImplement proxyCallBack)
+ throws ProxyException {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
public void initializeFileAccessSessionIdentifier(
final IObjectIOManagerForProxyObjectIO objectIOManager) {
throw new UnsupportedOperationException();
@@ -63,7 +70,13 @@
// do nothing
}
+ @SuppressWarnings("PMD")
@Override
+ public void constructorEnd$JOAFIP$() {
+ // no implementation
+ }
+
+ @Override
@SuppressWarnings("PMD")
public void methodEnd$JOAFIP$() {
// FIXMELUC ___call when proxied construct, construct not need
@@ -185,10 +198,4 @@
public boolean isAutoSaveEnabled$JOAFIP$() {
throw new UnsupportedOperationException();
}
-
- @Override
- @SuppressWarnings("PMD")
- public void setInConstruction$JOAFIP$(final boolean inConstruction) {
- throw new UnsupportedOperationException();
- }
}
Modified: trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/ProxyCallBack.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/ProxyCallBack.java 2011-10-22 03:38:16 UTC (rev 2935)
+++ trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/ProxyCallBack.java 2011-10-23 11:37:55 UTC (rev 2936)
@@ -49,8 +49,14 @@
private static boolean useJavaAgent;
/** mutex for storage file access */
- private final JoafipMutex storeMutex;
+ private/* final */JoafipMutex storeMutex;
+ private/* final */IObjectIOManagerForProxyObjectIO objectIOManager;
+
+ private/* final */boolean exclusiveAccessSession;
+
+ private/* final */boolean autoSaveEnabled;
+
/** true if object loaded */
private boolean loaded = false;
@@ -61,8 +67,6 @@
private boolean toUnload;
- private final IObjectIOManagerForProxyObjectIO objectIOManager;
-
/**
* the proxy instance and persistence information for which is this proxy
* callback
@@ -81,20 +85,24 @@
*/
private long myFileAccessSessionIdentifier;
- private final boolean exclusiveAccessSession;
-
/** count number of entry in object code */
private int inObjectCount;
- private final boolean autoSaveEnabled;
-
- private boolean inConstruction;
-
public static void setUseJavaAgent(final boolean useJavaAgent) {
ProxyCallBack.useJavaAgent = useJavaAgent;
}
/**
+ *
+ */
+ public ProxyCallBack() {
+ super();
+ inObjectCount = 1;
+ storeMutex = new JoafipMutex();
+ exclusiveAccessSession = true;
+ }
+
+ /**
* at construction set the proxied object class, the object input/output
* manager for state reading from file, and get the mutex for file access
*
@@ -107,8 +115,19 @@
this.objectIOManager = objectIOManager;
autoSaveEnabled = objectIOManager.isAutoSaveEnabled();
storeMutex = objectIOManager.getStoreMutex();
+ exclusiveAccessSession = objectIOManager.isExclusiveAccessSession();
initializeFileAccessSessionIdentifier(objectIOManager);
+ }
+
+ @SuppressWarnings("PMD")
+ @Override
+ public void initialize$JOAFIP$(final IProxyCallBackToImplement proxyCallBack)
+ throws ProxyException {
+ this.objectIOManager = proxyCallBack.getObjectIOManager$JOAFIP$();
+ autoSaveEnabled = objectIOManager.isAutoSaveEnabled();
+ storeMutex = objectIOManager.getStoreMutex();
exclusiveAccessSession = objectIOManager.isExclusiveAccessSession();
+ initializeFileAccessSessionIdentifier(objectIOManager);
}
@SuppressWarnings("PMD")
@@ -175,17 +194,6 @@
return result;
}
- // FIXMELUC _________________________for test
- // private boolean in() {
- // final StackTraceElement[] stackTraceElements = new Exception()
- // .getStackTrace();
- // final StackTraceElement stackTraceElement = stackTraceElements[3];
- // final String className = stackTraceElement.getClassName();
- // final String methodName = stackTraceElement.getMethodName();
- // return className.contains("MultiMap")
- // && methodName.contains("addKeyDefinition");
- // }
-
@Override
@SuppressWarnings("PMD")
public void intercept$JOAFIP$() {
@@ -193,98 +201,99 @@
if (exclusiveAccessSession) {
inObjectCount++;
}
- // FIXMELUC _________________________for test
- // if (in()) {
- // System.out.println("intercept " + inObjectCount + " "
- // + proxyObjectAndPersistInfo);
- // }
- // end for test
- if (exclusiveAccessSession) {
- try {
- objectIOManager.objectIsAccessed(getInstance$JOAFIP$());
- } catch (Exception exception) {
- LOGGER.error("method begin interception error", exception);
- throw new ProxyInterceptException(getInstance$JOAFIP$()
- .toString(), exception);
+ if (!exclusiveAccessSession || inObjectCount == 1) {
+ if (exclusiveAccessSession) {
+ try {
+ objectIOManager.objectIsAccessed(getInstance$JOAFIP$());
+ } catch (Exception exception) {
+ LOGGER.error("method begin interception error",
+ exception);
+ throw new ProxyInterceptException(getInstance$JOAFIP$()
+ .toString(), exception);
+ }
}
- }
- /*
- * No loading operation twice. A nested call can happen when
- * invoking serialization method while loading
- */
- if (!loading) {
- loading = true;
-
/*
- * do not force load if finalizer thread
+ * No loading operation twice. A nested call can happen when
+ * invoking serialization method while loading
*/
- if (autoSaveEnabled && inObjectCount == 1) {
- wasLoaded = loaded;
- }
+ if (!loading) {
+ loading = true;
- if (!loaded
- && !inConstruction
- && !FINALIZER_THREAD_NAME.equals(Thread.currentThread()
- .getName())) {
+ if (autoSaveEnabled) {
+ wasLoaded = loaded;
+ }
+
/*
- * since object can be manipulated outside store method call
- * by another thread, need to be synchronized
+ * do not force load if finalizer thread
*/
- /* must be loaded before invoke method */
- try {
- load();
- } catch (Exception exception) {
- LOGGER.error("method begin interception error",
- exception);
- throw new ProxyInterceptException(getInstance$JOAFIP$()
- .toString(), exception);
+ if (!loaded
+ && !FINALIZER_THREAD_NAME.equals(Thread
+ .currentThread().getName())) {
+ /*
+ * since object can be manipulated outside store method
+ * call by another thread, need to be synchronized
+ */
+ /* must be loaded before invoke method */
+ try {
+ load();
+ } catch (Exception exception) {
+ LOGGER.error("method begin interception error",
+ exception);
+ final ObjectAndPersistInfo instance = getInstance$JOAFIP$();
+ final String instanceToString = instance == null ? "no instance"
+ : instance.toString();
+ throw new ProxyInterceptException(instanceToString,
+ exception);
+ }
}
+ loading = false;
}
-
- loading = false;
}
}
}
+ @SuppressWarnings("PMD")
@Override
+ public void constructorEnd$JOAFIP$() {
+ inObjectCount--;
+ assert inObjectCount >= 0 : "running in object count can not be negative, is "
+ + inObjectCount;
+ }
+
+ @Override
@SuppressWarnings("PMD")
public void methodEnd$JOAFIP$() {
- // FIXMELUC _________________________for test
- // if (in()) {
- // System.out.println("methodEnd " + inObjectCount + " "
- // + proxyObjectAndPersistInfo);
- // }
- // end for test
synchronized (storeMutex) {
final ObjectAndPersistInfo instanceAndPersistInfo = getInstance$JOAFIP$();
- if (--inObjectCount == 0) {
+ inObjectCount--;
+ // ASSERTX
+ assert inObjectCount >= 0 : "running in object count can not be negative, is "
+ + inObjectCount + " " + getInstance$JOAFIP$().toString();
+ if (inObjectCount == 0) {
instanceAndPersistInfo.acceded = false;
- }
- if (autoSaveEnabled) {
- // ASSERTX
- assert inObjectCount >= 0 : "running in object count can not be negative, is "
- + inObjectCount
- + " "
- + getInstance$JOAFIP$().toString();
- if (!wasLoaded && loaded && inObjectCount == 0) {
- try {
- objectIOManager.newObjectLoaded();
- } catch (ObjectIOException exception) {
- throw new ProxyInterceptException(exception);
+ if (autoSaveEnabled) {
+ if (!wasLoaded && loaded) {
+ try {
+ objectIOManager.newObjectLoaded();
+ } catch (ObjectIOException exception) {
+ throw new ProxyInterceptException(exception);
+ }
}
- }
- if (toUnload && inObjectCount == 0) {
- toUnload = false;
- loaded = false;
- assert instanceAndPersistInfo != null;
- try {
- objectIOManager
- .saveAndUnsetProxyObjectState(instanceAndPersistInfo);
- } catch (Exception exception) {
- LOGGER.error("method end interception error", exception);
- throw new ProxyInterceptException(
- instanceAndPersistInfo.toString(), exception);
+ if (toUnload) {
+ toUnload = false;
+ loaded = false;
+ assert instanceAndPersistInfo != null;
+ try {
+ objectIOManager
+ .saveAndUnsetProxyObjectState(instanceAndPersistInfo);
+ } catch (Exception exception) {
+ LOGGER.error("method end interception error",
+ exception);
+ throw new ProxyInterceptException(
+ instanceAndPersistInfo.toString(),
+ exception);
+ }
}
}
}
@@ -307,7 +316,7 @@
ObjectIOClassNotFoundException, ObjectIODataCorruptedException,
ObjectIONotSerializableException {
synchronized (storeMutex) {
- if (!loading && !inConstruction) {
+ if (!loading) {
loading = true;
if (!loaded) {
load();
@@ -326,8 +335,8 @@
/*
* inObjectCount==0 because can not unload object when running its code
*/
- if (loaded && !inConstruction) {
- if (!loading && inObjectCount == 0) {
+ if (loaded) {
+ if (!loading && (!exclusiveAccessSession || inObjectCount == 0)) {
loaded = false;
objectIOManager.unsetProxyObjectState(getInstance$JOAFIP$());
} else {
@@ -407,12 +416,6 @@
@Override
@SuppressWarnings("PMD")
- public void setInConstruction$JOAFIP$(final boolean inConstruction) {
- this.inConstruction = inConstruction;
- }
-
- @Override
- @SuppressWarnings("PMD")
public boolean isAutoSaveEnabled$JOAFIP$() {
return autoSaveEnabled;
}
Modified: trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/ProxyManager2.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/ProxyManager2.java 2011-10-22 03:38:16 UTC (rev 2935)
+++ trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/ProxyManager2.java 2011-10-23 11:37:55 UTC (rev 2936)
@@ -65,8 +65,6 @@
private int persistenceId;
- private boolean createEntryinObjectMap = true;
-
/**
*
* @param classLoaderProvider
@@ -158,11 +156,9 @@
objectIOManager.isExclusiveAccessSession());
instanceCreated = reflectNewInstanceDefaultConstructor(enhancedClass);
}
- if (createEntryinObjectMap) {
- objectAndPersistInfoOfCreatedInstance(objectClassInfo,
- storageInfo, objectIOManager, dataRecordIdentifier,
- persisted, instanceCreated, true);
- }
+ objectAndPersistInfoOfCreatedInstance(objectClassInfo, storageInfo,
+ objectIOManager, dataRecordIdentifier, persisted,
+ instanceCreated, true);
} catch (ReflectException exception) {
throw new ProxyException(exception);
} catch (EnhanceException exception) {
@@ -203,11 +199,9 @@
instanceCreated = reflectNewInstanceConstruct(enhancedClass,
parameterTypes, initargs);
}
- if (createEntryinObjectMap) {
- objectAndPersistInfoOfCreatedInstance(objectClassInfo,
- storageInfo, objectIOManager, dataRecordIdentifier,
- persisted, instanceCreated, true);
- }
+ objectAndPersistInfoOfCreatedInstance(objectClassInfo, storageInfo,
+ objectIOManager, dataRecordIdentifier, persisted,
+ instanceCreated, true);
} catch (ReflectException exception) {
throw new ProxyException(exception);
} catch (EnhanceException exception) {
@@ -228,10 +222,6 @@
initargs);
}
- public void setCreateEntryinObjectMap(final boolean createEntryinObjectMap) {
- this.createEntryinObjectMap = createEntryinObjectMap;
- }
-
private ObjectAndPersistInfo objectAndPersistInfoOfCreatedInstance(
final ClassInfo objectClassInfo, final StorageInfo storageInfo,
final IObjectIOManagerForProxyObjectIO objectIOManager,
@@ -290,7 +280,6 @@
if (constructed) {
assert getProxyCallBack(instanceCreated) != NULL_PROXY_CALL_BACK_INSTANCE;
- setNotInConstruction(instanceCreated);
// set is loaded last for auto save
objectAndPersistInfo.setIsLoaded();
}
@@ -307,8 +296,6 @@
* objectAndPersistInfo.setIsLoaded() should be good to, may be
* better
*/
- // objectAndPersistInfo.getProxyCallBackOfObject().setInConstruction$JOAFIP$(false);
- setNotInConstruction(instanceCreated);
// set is loaded last for auto save
setIsLoaded(instanceCreated);
}
@@ -400,15 +387,6 @@
}
}
- private void setNotInConstruction(final Object object) {
- if (useJavaAgent) {
- StaticProxyCallBack.setInConstruction(object, false);
- } else if (isProxy(object)) {
- ((IProxyCallBackProxyDelegation) object)
- .setInConstruction$JOAFIP$(false);
- }
- }
-
public static void setIsLoadedNoSave(final Object object)
throws ProxyException {
try {
@@ -543,37 +521,49 @@
public static void setProxyCallBack(
final ObjectAndPersistInfo objectAndPersistInfo,
- final IProxyCallBackToImplement proxyCallBack) {
+ final IProxyCallBackToImplement proxyCallBack,
+ final boolean exclusiveAccessSession) throws ProxyException {
final Object object = objectAndPersistInfo.getObject();
- if (useJavaAgent) {
- // ASSERTX
- assert StaticProxyCallBack.getProxyCallBack(object) == null
- || StaticProxyCallBack.getProxyCallBack(object) == NULL_PROXY_CALL_BACK_INSTANCE : "can not set twice the proxy callback of "
- + object.getClass().getName()
- + "@"
- + System.identityHashCode(object);
- StaticProxyCallBack.setProxyCallBack(object, proxyCallBack);
+ if (exclusiveAccessSession) {
+ if (useJavaAgent) {
+ final IProxyCallBackToImplement existing = StaticProxyCallBack
+ .getProxyCallBack(object);
+ if (existing == null) {
+ StaticProxyCallBack.setProxyCallBack(object, proxyCallBack);
+ proxyCallBack.setInstance$JOAFIP$(objectAndPersistInfo);
+ objectAndPersistInfo.setProxyCallBack(proxyCallBack);
+ } else {
+ existing.initialize$JOAFIP$(proxyCallBack);
+ existing.setInstance$JOAFIP$(objectAndPersistInfo);
+ objectAndPersistInfo.setProxyCallBack(existing);
+ }
+ } else {
+ final IProxyCallBack proxy = (IProxyCallBack) object;
+ final IProxyCallBackToImplement existing = proxy
+ .getProxyCallBack$JOAFIP$();
+ if (existing == null) {
+ proxy.setProxyCallBack$JOAFIP$(proxyCallBack);
+ proxyCallBack.setInstance$JOAFIP$(objectAndPersistInfo);
+ objectAndPersistInfo.setProxyCallBack(proxyCallBack);
+ } else {
+ existing.initialize$JOAFIP$(proxyCallBack);
+ existing.setInstance$JOAFIP$(objectAndPersistInfo);
+ objectAndPersistInfo.setProxyCallBack(existing);
+ }
+ }
} else {
- final IProxyCallBack proxy = (IProxyCallBack) object;
- // ASSERTX
- assert proxy.getProxyCallBack$JOAFIP$() == null
- || proxy.getProxyCallBack$JOAFIP$() == NULL_PROXY_CALL_BACK_INSTANCE : "can not set twice the proxy callback of "
- + object.getClass().getName()
- + "@"
- + System.identityHashCode(object);
- // FIXMELUC _______________________old proxy call back
- // FIXMELUC _______________________only for autosave
- // if(proxyCallBack.isAutoSaveEnabled$JOAFIP$())
- final IProxyCallBackToImplement oldProxyCallBack = proxy
- .getProxyCallBack$JOAFIP$();
- if (oldProxyCallBack == NULL_PROXY_CALL_BACK_INSTANCE) {// NOPMD
- // in construction
- proxyCallBack.setInConstruction$JOAFIP$(true);
+ if (useJavaAgent) {
+ StaticProxyCallBack.setProxyCallBack(object, proxyCallBack);
+ proxyCallBack.setInstance$JOAFIP$(objectAndPersistInfo);
+ objectAndPersistInfo.setProxyCallBack(proxyCallBack);
+
+ } else {
+ final IProxyCallBack proxy = (IProxyCallBack) object;
+ proxy.setProxyCallBack$JOAFIP$(proxyCallBack);
+ proxyCallBack.setInstance$JOAFIP$(objectAndPersistInfo);
+ objectAndPersistInfo.setProxyCallBack(proxyCallBack);
}
- proxy.setProxyCallBack$JOAFIP$(proxyCallBack);
}
- proxyCallBack.setInstance$JOAFIP$(objectAndPersistInfo);
- objectAndPersistInfo.setProxyCallBack(proxyCallBack);
}
public static void changeProxyCallBack(
Modified: trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/StaticProxyCallBack.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/StaticProxyCallBack.java 2011-10-22 03:38:16 UTC (rev 2935)
+++ trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/StaticProxyCallBack.java 2011-10-23 11:37:55 UTC (rev 2936)
@@ -141,17 +141,6 @@
}
}
- public static void setInConstruction(final Object object,
- final boolean inConstruction) {
- final IProxyCallBackProxyDelegation proxyCallBack;
- synchronized (StaticProxyCallBack.class) {
- proxyCallBack = proxyCallBackOfObject(object);
- }
- if (proxyCallBack != null) {
- proxyCallBack.setInConstruction$JOAFIP$(inConstruction);
- }
- }
-
public static void setIsLoadedNoSave(final Object object)
throws ObjectIOException {
final IProxyCallBackProxyDelegation proxyCallBack;
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/TestTreeListIteratorIntercept.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/TestTreeListIteratorIntercept.java 2011-10-22 03:38:16 UTC (rev 2935)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/TestTreeListIteratorIntercept.java 2011-10-23 11:37:55 UTC (rev 2936)
@@ -50,7 +50,14 @@
}
}
+ @SuppressWarnings("PMD")
@Override
+ public void initialize$JOAFIP$(IProxyCallBackToImplement proxyCallBack)
+ throws ProxyException {
+ // no implementation
+ }
+
+ @Override
@SuppressWarnings("PMD")
public void intercept$JOAFIP$() {
intercepted = true;
@@ -88,7 +95,13 @@
return false;
}
+ @SuppressWarnings("PMD")
@Override
+ public void constructorEnd$JOAFIP$() {
+ // no implementation
+ }
+
+ @Override
@SuppressWarnings("PMD")
public void methodEnd$JOAFIP$() {
}
@@ -144,9 +157,4 @@
// no implementation
return false;
}
-
- @Override
- public void setInConstruction$JOAFIP$(final boolean inConstruction) {// NOPMD
- // no implementation
- }
}
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/sync/TestSynchronizedCollection.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/sync/TestSynchronizedCollection.java 2011-10-22 03:38:16 UTC (rev 2935)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/sync/TestSynchronizedCollection.java 2011-10-23 11:37:55 UTC (rev 2936)
@@ -4,6 +4,8 @@
import java.util.Map;
import net.sf.joafip.AbstractDeleteFileTestCase;
+import net.sf.joafip.NotStorableClass;
+import net.sf.joafip.StorableAccess;
import net.sf.joafip.TestException;
import net.sf.joafip.entity.EnumFilePersistenceCloseAction;
import net.sf.joafip.java.util.PTreeMap;
@@ -17,8 +19,11 @@
import net.sf.joafip.service.IDataAccessSession;
import net.sf.joafip.service.IFilePersistence;
+@NotStorableClass
+@StorableAccess
public class TestSynchronizedCollection extends AbstractDeleteFileTestCase {
+ private static final String KEY = "key";
private IFilePersistence filePersistence;
public TestSynchronizedCollection() throws TestException {
@@ -54,7 +59,7 @@
super.tearDown();
}
- @SuppressWarnings({ "PMD", "unchecked" })
+ @SuppressWarnings("unchecked")
public void testSynchronizedMap() throws FilePersistenceException,
FilePersistenceClassNotFoundException,
FilePersistenceInvalidClassException,
@@ -70,15 +75,16 @@
.createDataAccessSession();
PTreeMap<String, String> map = new PTreeMap<String, String>();
Map<String, String> smap = Collections.synchronizedMap(map);
- smap.put("key", "value");
+ smap.put(KEY, "value");
session.open();
- session.setObject("key", smap);
+ session.setObject(KEY, smap);
map = null;// NOPMD
smap = null;// NOPMD
session.close(EnumFilePersistenceCloseAction.SAVE);
session.open();
- smap = (Map<String, String>) session.getObject("key");
+ smap = (Map<String, String>) session.getObject(KEY);
+ assertEquals("bad value", "value", smap.get(KEY));
session.close(EnumFilePersistenceCloseAction.SAVE);
}
}
Modified: trunk/joafip/src/test/java/net/sf/joafip/store/service/copier/AbstractTestDeepCopier.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/store/service/copier/AbstractTestDeepCopier.java 2011-10-22 03:38:16 UTC (rev 2935)
+++ trunk/joafip/src/test/java/net/sf/joafip/store/service/copier/AbstractTestDeepCopier.java 2011-10-23 11:37:55 UTC (rev 2936)
@@ -206,10 +206,11 @@
ProxyCallBack proxyCallBack;
try {
proxyCallBack = new ProxyCallBack(this);
+ ProxyManager2.setProxyCallBack(objectAndPersistInfo,
+ proxyCallBack, isExclusiveAccessSession());
} catch (ProxyException exception) {
throw new ObjectIOException(exception);
}
- ProxyManager2.setProxyCallBack(objectAndPersistInfo, proxyCallBack);
}
return objectAndPersistInfo;
}
Modified: trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/AbstractObjectIoManagerForProxyTest.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/AbstractObjectIoManagerForProxyTest.java 2011-10-22 03:38:16 UTC (rev 2935)
+++ trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/AbstractObjectIoManagerForProxyTest.java 2011-10-23 11:37:55 UTC (rev 2936)
@@ -64,7 +64,8 @@
objectAndPersistInfo = new ObjectAndPersistInfo(object,
proxyInstance, objectClassInfo);
final ProxyCallBack proxyCallBack = new ProxyCallBack(this);
- ProxyManager2.setProxyCallBack(objectAndPersistInfo, proxyCallBack);
+ ProxyManager2.setProxyCallBack(objectAndPersistInfo, proxyCallBack,
+ isExclusiveAccessSession());
} catch (ClassInfoException exception) {
throw new ObjectIOException(exception);
} catch (ProxyException exception) {
@@ -118,7 +119,8 @@
objectAndPersistInfo = new ObjectAndPersistInfo(object,
proxyInstance, objectClassInfo);
final ProxyCallBack proxyCallBack = new ProxyCallBack(this);
- ProxyManager2.setProxyCallBack(objectAndPersistInfo, proxyCallBack);
+ ProxyManager2.setProxyCallBack(objectAndPersistInfo, proxyCallBack,
+ isExclusiveAccessSession());
} catch (ClassInfoException exception) {
throw new ObjectIOException(exception);
} catch (ProxyException exception) {
Modified: trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/ProxyCallBackForTest.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/ProxyCallBackForTest.java 2011-10-22 03:38:16 UTC (rev 2935)
+++ trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/ProxyCallBackForTest.java 2011-10-23 11:37:55 UTC (rev 2936)
@@ -41,6 +41,13 @@
@Override
@SuppressWarnings("PMD")
+ public void initialize$JOAFIP$(final IProxyCallBackToImplement proxyCallBack)
+ throws ProxyException {
+ // do nothing
+ }
+
+ @Override
+ @SuppressWarnings("PMD")
public ClassInfoFactory getClassInfoFactory$JOAFIP$() {
return classInfoFactory;
}
@@ -87,7 +94,13 @@
// no implementation
}
+ @SuppressWarnings("PMD")
@Override
+ public void constructorEnd$JOAFIP$() {
+ // no implementation
+ }
+
+ @Override
@SuppressWarnings("PMD")
public void methodEnd$JOAFIP$() {
// no implementation
@@ -290,10 +303,4 @@
// no implementation
return false;
}
-
- @SuppressWarnings("PMD")
- @Override
- public void setInConstruction$JOAFIP$(final boolean inConstruction) {
- // no implementation
- }
}
Modified: trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/TestProxyCreation.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/TestProxyCreation.java 2011-10-22 03:38:16 UTC (rev 2935)
+++ trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/TestProxyCreation.java 2011-10-23 11:37:55 UTC (rev 2936)
@@ -99,7 +99,7 @@
assertTrue("must be loaded", ProxyManager2.isLoadedOrNotAProxy(object));
assertNotNull("field must be defined", ((Bob1) object).getBob2());
ProxyManager2.unload(object);
- assertFalse("must not be unloaded",
+ assertFalse("must not be unloaded after call of unload",
ProxyManager2.isLoadedOrNotAProxy(object));
assertNull("field must not be defined", getBob2(object));
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <luc...@us...> - 2011-10-23 11:38:02
|
Revision: 2936
http://joafip.svn.sourceforge.net/joafip/?rev=2936&view=rev
Author: luc_peuvrier
Date: 2011-10-23 11:37:55 +0000 (Sun, 23 Oct 2011)
Log Message:
-----------
auto save now ok
Modified Paths:
--------------
trunk/joafip/src/main/java/net/sf/joafip/service/IFilePersistence.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/Store.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/bytecode/proxy/EnhanceCodeGenerator.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/objectio/manager/AbstractObjectIOManagerDelegatingToStateMap.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/objectio/manager/ObjectIOManager.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/DetachedProxyCallBack.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/IProxyCallBackProxyDelegation.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/IProxyCallBackToImplement.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/NullProxyCallBack.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/ProxyCallBack.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/ProxyManager2.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/StaticProxyCallBack.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestTreeListIteratorIntercept.java
trunk/joafip/src/test/java/net/sf/joafip/service/sync/TestSynchronizedCollection.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/copier/AbstractTestDeepCopier.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/AbstractObjectIoManagerForProxyTest.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/ProxyCallBackForTest.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/TestProxyCreation.java
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <luc...@us...> - 2011-10-22 03:38:23
|
Revision: 2935
http://joafip.svn.sourceforge.net/joafip/?rev=2935&view=rev
Author: luc_peuvrier
Date: 2011-10-22 03:38:16 +0000 (Sat, 22 Oct 2011)
Log Message:
-----------
storage information management refactoring
Modified Paths:
--------------
trunk/joafip/src/main/java/net/sf/joafip/store/entity/objectio/StorageInfo.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/AbstractDelegatingToStoreManagers.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/Store.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/objectio/manager/AbstractObjectIOManagerIOForObject.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/copier/AbstractTestDeepCopier.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/objectio/serialize/AbstractObjectIOTest.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/objectio/serialize/AbstractSerializeTest.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/objectio/serialize/ObjectIOBasicTest.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/TestProxyAutoSave.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/TestProxyCreation.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/TestProxyCreationConstructed.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/TestProxyFieldReflect.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/TestProxyInterceptPackageVisibility.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/TestProxyInterceptPrivate.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/TestProxyInterceptProtected.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/TestProxyManager2.java
Modified: trunk/joafip/src/main/java/net/sf/joafip/store/entity/objectio/StorageInfo.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/store/entity/objectio/StorageInfo.java 2011-10-21 03:10:06 UTC (rev 2934)
+++ trunk/joafip/src/main/java/net/sf/joafip/store/entity/objectio/StorageInfo.java 2011-10-22 03:38:16 UTC (rev 2935)
@@ -29,6 +29,7 @@
import net.sf.joafip.store.entity.classinfo.ClassInfo;
import net.sf.joafip.store.entity.conversion.ClassReplacementDef;
import net.sf.joafip.store.service.objectio.ObjectIOException;
+import net.sf.joafip.store.service.objectio.manager.AbstractObjectIOManagerIOForObject;
/**
* to store additional informations on stored class
@@ -39,11 +40,9 @@
@NotStorableClass
public class StorageInfo {
- private static final int INVALID_SIZE = -1;
-
private Deque<ClassReplacementDef> replacementDefList;
- private int headerDataSize = INVALID_SIZE;
+ private int headerDataSize = AbstractObjectIOManagerIOForObject.HEADER_DATA_SIZE;
/** joafip release identifier of data record */
private int joafipReleaseId;
@@ -51,11 +50,6 @@
/** data model identifier of data record */
private int dataModelIdentifier;
- public StorageInfo(final int headerDataSize) {
- super();
- this.headerDataSize = headerDataSize;
- }
-
public Deque<ClassReplacementDef> getReplacementDefList() {
return replacementDefList;
}
@@ -91,15 +85,11 @@
}
public int getHeaderDataSize() {
- // ASSERTX
- assert headerDataSize != INVALID_SIZE : "header data size not set";
return headerDataSize;
}
public void setHeaderDataSize(final int headerDataSize)
throws ObjectIOException {
- // ASSERTX
- assert headerDataSize != INVALID_SIZE : "header data size not set";
this.headerDataSize = headerDataSize;
}
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 2011-10-21 03:10:06 UTC (rev 2934)
+++ trunk/joafip/src/main/java/net/sf/joafip/store/service/AbstractDelegatingToStoreManagers.java 2011-10-22 03:38:16 UTC (rev 2935)
@@ -77,7 +77,6 @@
import net.sf.joafip.store.service.objectio.ObjectIODataCorruptedException;
import net.sf.joafip.store.service.objectio.ObjectIODataRecordNotFoundException;
import net.sf.joafip.store.service.objectio.ObjectIOException;
-import net.sf.joafip.store.service.objectio.manager.AbstractObjectIOManagerIOForObject;
import net.sf.joafip.store.service.objectio.manager.ClassNameManager;
import net.sf.joafip.store.service.objectio.manager.IClassNameManager;
import net.sf.joafip.store.service.objectio.manager.ObjectIOManager;
@@ -759,8 +758,7 @@
private Object newProxyInstance(final ClassInfo objectClassInfo,
final Class<?>[] parameterTypes, final Object[] initargs)
throws ProxyException {
- final StorageInfo storageInfo = new StorageInfo(
- AbstractObjectIOManagerIOForObject.HEADER_DATA_SIZE);
+ final StorageInfo storageInfo = new StorageInfo();
return proxyManager2.newInstanceConstruct(objectClassInfo,
parameterTypes, initargs, storageInfo, objectIOManager,
null/*
@@ -776,8 +774,7 @@
.getNoProxyClassInfo(objectClass);
final Object newInstance;
if (proxyMode) {
- final StorageInfo storageInfo = new StorageInfo(
- AbstractObjectIOManagerIOForObject.HEADER_DATA_SIZE);
+ final StorageInfo storageInfo = new StorageInfo();
newInstance = proxyManager2.newInstanceConstruct(
objectClassInfo, storageInfo, objectIOManager,
null/*
@@ -816,8 +813,7 @@
try {
final Object newInstance;
if (proxyMode) {
- final StorageInfo storageInfo = new StorageInfo(
- AbstractObjectIOManagerIOForObject.HEADER_DATA_SIZE);
+ final StorageInfo storageInfo = new StorageInfo();
final ObjectAndPersistInfo objectAndPersistInfo = proxyManager2
.newInstanceNoConstruction(objectClassInfo,
storageInfo, objectIOManager, null/*
Modified: trunk/joafip/src/main/java/net/sf/joafip/store/service/Store.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/store/service/Store.java 2011-10-21 03:10:06 UTC (rev 2934)
+++ trunk/joafip/src/main/java/net/sf/joafip/store/service/Store.java 2011-10-22 03:38:16 UTC (rev 2935)
@@ -70,7 +70,6 @@
import net.sf.joafip.store.service.objectio.ObjectIOException;
import net.sf.joafip.store.service.objectio.ObjectIOInvalidClassException;
import net.sf.joafip.store.service.objectio.ObjectIONotSerializableException;
-import net.sf.joafip.store.service.objectio.manager.AbstractObjectIOManagerIOForObject;
import net.sf.joafip.store.service.objectio.manager.IObjectIOManagerForObjectIO;
import net.sf.joafip.store.service.objectio.manager.ISubsituteSynchronizer;
import net.sf.joafip.store.service.objectio.manager.ISubstituteObjectManager;
@@ -1069,12 +1068,9 @@
if (proxyMode) {
/* store root will be store in data record #1 */
storeRoot = (StoreRoot4) proxyManager2
- .newInstanceConstruct(
- storeRootClassInfo,
- new StorageInfo(
- AbstractObjectIOManagerIOForObject.HEADER_DATA_SIZE),
- objectIOManager, dataRecordIdentifier,
- true);
+ .newInstanceConstruct(storeRootClassInfo,
+ new StorageInfo(), objectIOManager,
+ dataRecordIdentifier, true);
} else {
storeRoot = new StoreRoot4();
/*
Modified: trunk/joafip/src/main/java/net/sf/joafip/store/service/objectio/manager/AbstractObjectIOManagerIOForObject.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/store/service/objectio/manager/AbstractObjectIOManagerIOForObject.java 2011-10-21 03:10:06 UTC (rev 2934)
+++ trunk/joafip/src/main/java/net/sf/joafip/store/service/objectio/manager/AbstractObjectIOManagerIOForObject.java 2011-10-22 03:38:16 UTC (rev 2935)
@@ -656,7 +656,7 @@
final ObjectAndPersistInfo objectAndPersistInfo;
- final StorageInfo storageInfo = new StorageInfo(HEADER_DATA_SIZE);
+ final StorageInfo storageInfo = new StorageInfo();
storageInfo.setReplacementDefList(replacementDef);
storageInfo.setHeaderDataSize(headerReader.headerDataSize);
storageInfo.setJoafipReleaseId(headerReader.joafipReleaseId);
@@ -1393,8 +1393,8 @@
final ClassInfo objectClassInfo = classInfoFactory
.getNoProxyClassInfo(objectClass);
return proxyManager2.newInstanceConstruct(objectClassInfo,
- parameterTypes, initargs,
- new StorageInfo(HEADER_DATA_SIZE), this, null, true);
+ parameterTypes, initargs, new StorageInfo(), this, null,
+ true);
} catch (final ClassInfoException exception) {
throw new ObjectIORuntimeException(exception);
} catch (final ProxyException exception) {
@@ -1408,7 +1408,7 @@
final ClassInfo objectClassInfo = classInfoFactory
.getNoProxyClassInfo(objectClass);
return proxyManager2.newInstanceConstruct(objectClassInfo,
- new StorageInfo(HEADER_DATA_SIZE), this, null, true);
+ new StorageInfo(), this, null, true);
} catch (final ClassInfoException exception) {
throw new ObjectIORuntimeException(exception);
} catch (final ProxyException exception) {
@@ -1416,26 +1416,11 @@
}
}
- // @Override
- // public Object newInstanceNoConstruction(final Class<?> objectClass) {
- // try {
- // final ClassInfo objectClassInfo = classInfoFactory
- // .getNoProxyClassInfo(objectClass);
- // return proxyManager2.newInstanceNoConstruction(objectClassInfo,
- // new StorageInfo(HEADER_DATA_SIZE), this, null, true)
- // .getObject();
- // } catch (final ClassInfoException exception) {
- // throw new ObjectIORuntimeException(exception);
- // } catch (final ProxyException exception) {
- // throw new ObjectIORuntimeException(exception);
- // }
- // }
-
@Override
public Object newInstanceNoConstruction(final ClassInfo objectClassInfo) {
try {
return proxyManager2.newInstanceNoConstruction(objectClassInfo,
- new StorageInfo(HEADER_DATA_SIZE), this, null, true);
+ new StorageInfo(), this, null, true);
} catch (final ProxyException exception) {
throw new ObjectIORuntimeException(exception);
}
Modified: trunk/joafip/src/test/java/net/sf/joafip/store/service/copier/AbstractTestDeepCopier.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/store/service/copier/AbstractTestDeepCopier.java 2011-10-21 03:10:06 UTC (rev 2934)
+++ trunk/joafip/src/test/java/net/sf/joafip/store/service/copier/AbstractTestDeepCopier.java 2011-10-22 03:38:16 UTC (rev 2935)
@@ -103,7 +103,7 @@
final ClassInfo objectClassInfo = classInfoFactory
.getNoProxyClassInfo(objectClass);
return proxyManager2.newInstanceConstruct(objectClassInfo,
- parameterTypes, initargs, new StorageInfo(0), this,
+ parameterTypes, initargs, new StorageInfo(), this,
null/* dataRecordIdentifier */, true/* persisted */);
} catch (ClassInfoException exception) {
throw new StoreRuntimeException(exception);
@@ -118,7 +118,7 @@
final ClassInfo objectClassInfo = classInfoFactory
.getNoProxyClassInfo(objectClass);
return proxyManager2.newInstanceConstruct(objectClassInfo,
- new StorageInfo(0), this, null/* dataRecordIdentifier */,
+ new StorageInfo(), this, null/* dataRecordIdentifier */,
true/* persisted */);
} catch (ClassInfoException exception) {
throw new StoreRuntimeException(exception);
@@ -146,7 +146,7 @@
public Object newInstanceNoConstruction(final ClassInfo objectClassInfo) {
try {
return proxyManager2.newInstanceNoConstruction(objectClassInfo,
- new StorageInfo(0), this, null/* dataRecordIdentifier */,
+ new StorageInfo(), this, null/* dataRecordIdentifier */,
true/* persisted */).getObject();
} catch (ProxyException exception) {
throw new StoreRuntimeException(exception);
Modified: trunk/joafip/src/test/java/net/sf/joafip/store/service/objectio/serialize/AbstractObjectIOTest.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/store/service/objectio/serialize/AbstractObjectIOTest.java 2011-10-21 03:10:06 UTC (rev 2934)
+++ trunk/joafip/src/test/java/net/sf/joafip/store/service/objectio/serialize/AbstractObjectIOTest.java 2011-10-22 03:38:16 UTC (rev 2935)
@@ -490,7 +490,7 @@
final ClassInfo objectClassInfo = classInfoFactory
.getNoProxyClassInfo(objectClass);
return proxyManager2.newInstanceConstruct(objectClassInfo,
- parameterTypes, initargs, new StorageInfo(0), this, null,
+ parameterTypes, initargs, new StorageInfo(), this, null,
true);
} catch (ClassInfoException exception) {
throw new ObjectIORuntimeException(exception);
@@ -505,7 +505,7 @@
final ClassInfo objectClassInfo = classInfoFactory
.getNoProxyClassInfo(objectClass);
return proxyManager2.newInstanceConstruct(objectClassInfo,
- new StorageInfo(0), this, null, true);
+ new StorageInfo(), this, null, true);
} catch (ClassInfoException exception) {
throw new ObjectIORuntimeException(exception);
} catch (ProxyException exception) {
@@ -532,7 +532,7 @@
public Object newInstanceNoConstruction(final ClassInfo objectClassInfo) {
try {
return proxyManager2.newInstanceNoConstruction(objectClassInfo,
- new StorageInfo(0), this, null, true);
+ new StorageInfo(), this, null, true);
} catch (ProxyException exception) {
throw new ObjectIORuntimeException(exception);
}
Modified: trunk/joafip/src/test/java/net/sf/joafip/store/service/objectio/serialize/AbstractSerializeTest.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/store/service/objectio/serialize/AbstractSerializeTest.java 2011-10-21 03:10:06 UTC (rev 2934)
+++ trunk/joafip/src/test/java/net/sf/joafip/store/service/objectio/serialize/AbstractSerializeTest.java 2011-10-22 03:38:16 UTC (rev 2935)
@@ -132,7 +132,7 @@
final IObjectInput objectInput = new ObjectInputImmediateSerializable(
this, classInfoFactory, proxyManager2, helperBinaryConversion);
- final StorageInfo storageInfo = new StorageInfo(0);
+ final StorageInfo storageInfo = new StorageInfo();
// storageInfo.setHeaderDataSize(0);
ObjectAndPersistInfo unserializedAndPersistInfo = objectInput
.createObject(dataRecordIdentifier, binary, classInfo,
@@ -178,8 +178,8 @@
ObjectIODataRecordNotFoundException,
ObjectIOClassNotFoundException, ObjectIODataCorruptedException,
ObjectIOTooBigForSerializationException {
- final int offset = 0;
- final StorageInfo storageInfo = new StorageInfo(offset);
+ final StorageInfo storageInfo = new StorageInfo();
+ final int offset = storageInfo.getHeaderDataSize();
final ObjectAndPersistInfo objectAndPersistInfo =
/**/new ObjectAndPersistInfo(toSerialize, false, classInfo,
storageInfo);
Modified: trunk/joafip/src/test/java/net/sf/joafip/store/service/objectio/serialize/ObjectIOBasicTest.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/store/service/objectio/serialize/ObjectIOBasicTest.java 2011-10-21 03:10:06 UTC (rev 2934)
+++ trunk/joafip/src/test/java/net/sf/joafip/store/service/objectio/serialize/ObjectIOBasicTest.java 2011-10-22 03:38:16 UTC (rev 2935)
@@ -60,12 +60,12 @@
final ClassInfo classInfo = classInfoFactory
.getNoProxyClassInfo(Integer.class);
final Integer integer = Integer.valueOf(10);
- final StorageInfo storageInfo = new StorageInfo(0);
+ final StorageInfo storageInfo = new StorageInfo();
final ObjectAndPersistInfo objectAndItsClassInfo =
/**/new ObjectAndPersistInfo(integer, false, classInfo, storageInfo);
objectOutput.prepareWrite(objectAndItsClassInfo);
final byte[] binary = new byte[1000];
- final int offset = 0;
+ final int offset = storageInfo.getHeaderDataSize();
storageInfo.setHeaderDataSize(offset);
// int byte size to skip class name information
objectOutput
Modified: trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/TestProxyAutoSave.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/TestProxyAutoSave.java 2011-10-21 03:10:06 UTC (rev 2934)
+++ trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/TestProxyAutoSave.java 2011-10-22 03:38:16 UTC (rev 2935)
@@ -53,7 +53,7 @@
final Class<Bob1> objectClass = Bob1.class;
final ClassInfo classInfo = classInfoFactory
.getNoProxyClassInfo(objectClass);
- final StorageInfo storageInfo = new StorageInfo(0);
+ final StorageInfo storageInfo = new StorageInfo();
final ProxyManager2 proxyManager2 = new ProxyManager2(
new ClassLoaderProvider(), classInfoFactory);
// change persistence id to have a new proxy class name
Modified: trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/TestProxyCreation.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/TestProxyCreation.java 2011-10-21 03:10:06 UTC (rev 2934)
+++ trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/TestProxyCreation.java 2011-10-22 03:38:16 UTC (rev 2935)
@@ -81,7 +81,7 @@
final ClassInfo classInfo = classInfoFactory
.getNoProxyClassInfo(objectClass);
- final StorageInfo storageInfo = new StorageInfo(0);
+ final StorageInfo storageInfo = new StorageInfo();
final ProxyManager2 proxyManager2 = new ProxyManager2(
new ClassLoaderProvider(), classInfoFactory);
final Object object = proxyManager2.newInstanceNoConstruction(
Modified: trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/TestProxyCreationConstructed.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/TestProxyCreationConstructed.java 2011-10-21 03:10:06 UTC (rev 2934)
+++ trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/TestProxyCreationConstructed.java 2011-10-22 03:38:16 UTC (rev 2935)
@@ -65,7 +65,7 @@
.getNoProxyClassInfo(objectClass);
final ProxyManager2 proxyManager2 = new ProxyManager2(
new ClassLoaderProvider(), classInfoFactory);
- final StorageInfo storageInfo = new StorageInfo(0);
+ final StorageInfo storageInfo = new StorageInfo();
inConstruction = true;
final BobCallInConstructor object = (BobCallInConstructor) proxyManager2
.newInstanceConstruct(classInfo,
Modified: trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/TestProxyFieldReflect.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/TestProxyFieldReflect.java 2011-10-21 03:10:06 UTC (rev 2934)
+++ trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/TestProxyFieldReflect.java 2011-10-22 03:38:16 UTC (rev 2935)
@@ -128,7 +128,7 @@
IllegalAccessException, ObjectIOException, ClassInfoException {
final ClassInfo classInfo = classInfoFactory
.getNoProxyClassInfo(Bob1.class);
- final StorageInfo storageInfo = new StorageInfo(0);
+ final StorageInfo storageInfo = new StorageInfo();
final Bob1 proxyObject = (Bob1) proxyManager2.newInstanceConstruct(
classInfo, storageInfo, objectIOManager,
DataRecordIdentifier.LAST, true);
@@ -190,7 +190,7 @@
final ClassInfo classInfo = classInfoFactory
.getNoProxyClassInfo(Bob1.class);
- final StorageInfo storageInfo = new StorageInfo(0);
+ final StorageInfo storageInfo = new StorageInfo();
storageInfo
.setHeaderDataSize(AbstractObjectIOManagerIOForObject.HEADER_DATA_SIZE);
objectIOManager
Modified: trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/TestProxyInterceptPackageVisibility.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/TestProxyInterceptPackageVisibility.java 2011-10-21 03:10:06 UTC (rev 2934)
+++ trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/TestProxyInterceptPackageVisibility.java 2011-10-22 03:38:16 UTC (rev 2935)
@@ -58,7 +58,7 @@
final ClassInfo classInfo = classInfoFactory
.getNoProxyClassInfo(objectClass);
- final StorageInfo storageInfo = new StorageInfo(0);
+ final StorageInfo storageInfo = new StorageInfo();
final ClassLoaderProvider classLoaderProvider = new ClassLoaderProvider();
final ProxyManager2 proxyManager2 = new ProxyManager2(
classLoaderProvider, classInfoFactory);
Modified: trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/TestProxyInterceptPrivate.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/TestProxyInterceptPrivate.java 2011-10-21 03:10:06 UTC (rev 2934)
+++ trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/TestProxyInterceptPrivate.java 2011-10-22 03:38:16 UTC (rev 2935)
@@ -65,7 +65,7 @@
final ClassInfo classInfo = classInfoFactory
.getNoProxyClassInfo(objectClass);
- final StorageInfo storageInfo = new StorageInfo(0);
+ final StorageInfo storageInfo = new StorageInfo();
final ClassLoaderProvider classLoaderProvider = new ClassLoaderProvider();
final ProxyManager2 proxyManager2 = new ProxyManager2(
classLoaderProvider, classInfoFactory);
Modified: trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/TestProxyInterceptProtected.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/TestProxyInterceptProtected.java 2011-10-21 03:10:06 UTC (rev 2934)
+++ trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/TestProxyInterceptProtected.java 2011-10-22 03:38:16 UTC (rev 2935)
@@ -58,7 +58,7 @@
final ClassInfo classInfo = classInfoFactory
.getNoProxyClassInfo(objectClass);
- final StorageInfo storageInfo = new StorageInfo(0);
+ final StorageInfo storageInfo = new StorageInfo();
final ClassLoaderProvider classLoaderProvider = new ClassLoaderProvider();
final ProxyManager2 proxyManager2 = new ProxyManager2(
classLoaderProvider, classInfoFactory);
Modified: trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/TestProxyManager2.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/TestProxyManager2.java 2011-10-21 03:10:06 UTC (rev 2934)
+++ trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/TestProxyManager2.java 2011-10-22 03:38:16 UTC (rev 2935)
@@ -59,7 +59,7 @@
final ClassInfo classInfo = classInfoFactory
.getNoProxyClassInfo(objectClass);
- final StorageInfo storageInfo = new StorageInfo(0);
+ final StorageInfo storageInfo = new StorageInfo();
final ClassLoaderProvider classLoaderProvider = new ClassLoaderProvider();
final ProxyManager2 proxyManager2 = new ProxyManager2(
classLoaderProvider, classInfoFactory);
@@ -93,7 +93,7 @@
final ClassInfo classInfo = classInfoFactory
.getNoProxyClassInfo(objectClass);
setted = false;
- final StorageInfo storageInfo = new StorageInfo(0);
+ final StorageInfo storageInfo = new StorageInfo();
final ClassLoaderProvider classLoaderProvider = new ClassLoaderProvider();
final ProxyManager2 proxyManager2 = new ProxyManager2(
classLoaderProvider, classInfoFactory);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <luc...@us...> - 2011-10-22 03:38:23
|
Revision: 2935
http://joafip.svn.sourceforge.net/joafip/?rev=2935&view=rev
Author: luc_peuvrier
Date: 2011-10-22 03:38:16 +0000 (Sat, 22 Oct 2011)
Log Message:
-----------
storage information management refactoring
Modified Paths:
--------------
trunk/joafip/src/main/java/net/sf/joafip/store/entity/objectio/StorageInfo.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/AbstractDelegatingToStoreManagers.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/Store.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/objectio/manager/AbstractObjectIOManagerIOForObject.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/copier/AbstractTestDeepCopier.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/objectio/serialize/AbstractObjectIOTest.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/objectio/serialize/AbstractSerializeTest.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/objectio/serialize/ObjectIOBasicTest.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/TestProxyAutoSave.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/TestProxyCreation.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/TestProxyCreationConstructed.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/TestProxyFieldReflect.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/TestProxyInterceptPackageVisibility.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/TestProxyInterceptPrivate.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/TestProxyInterceptProtected.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/TestProxyManager2.java
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <luc...@us...> - 2011-10-21 03:10:12
|
Revision: 2934
http://joafip.svn.sourceforge.net/joafip/?rev=2934&view=rev
Author: luc_peuvrier
Date: 2011-10-21 03:10:06 +0000 (Fri, 21 Oct 2011)
Log Message:
-----------
tests ok
Modified Paths:
--------------
trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/ProxyCallBack.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/ProxyManager2.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestSaveInExclusiveDataAccessSession.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/TestProxyAutoSave.java
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <luc...@us...> - 2011-10-21 03:10:12
|
Revision: 2934
http://joafip.svn.sourceforge.net/joafip/?rev=2934&view=rev
Author: luc_peuvrier
Date: 2011-10-21 03:10:06 +0000 (Fri, 21 Oct 2011)
Log Message:
-----------
tests ok
Modified Paths:
--------------
trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/ProxyCallBack.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/ProxyManager2.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestSaveInExclusiveDataAccessSession.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/TestProxyAutoSave.java
Modified: trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/ProxyCallBack.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/ProxyCallBack.java 2011-10-21 01:40:53 UTC (rev 2933)
+++ trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/ProxyCallBack.java 2011-10-21 03:10:06 UTC (rev 2934)
@@ -176,28 +176,28 @@
}
// FIXMELUC _________________________for test
-// private boolean in() {
-// final StackTraceElement[] stackTraceElements = new Exception()
-// .getStackTrace();
-// final StackTraceElement stackTraceElement = stackTraceElements[3];
-// final String className = stackTraceElement.getClassName();
-// final String methodName = stackTraceElement.getMethodName();
-// return className.contains("MultiMap")
-// && methodName.contains("addKeyDefinition");
-// }
+ // private boolean in() {
+ // final StackTraceElement[] stackTraceElements = new Exception()
+ // .getStackTrace();
+ // final StackTraceElement stackTraceElement = stackTraceElements[3];
+ // final String className = stackTraceElement.getClassName();
+ // final String methodName = stackTraceElement.getMethodName();
+ // return className.contains("MultiMap")
+ // && methodName.contains("addKeyDefinition");
+ // }
@Override
@SuppressWarnings("PMD")
public void intercept$JOAFIP$() {
synchronized (storeMutex) {
- if (autoSaveEnabled) {
+ if (exclusiveAccessSession) {
inObjectCount++;
}
// FIXMELUC _________________________for test
-// if (in()) {
-// System.out.println("intercept " + inObjectCount + " "
-// + proxyObjectAndPersistInfo);
-// }
+ // if (in()) {
+ // System.out.println("intercept " + inObjectCount + " "
+ // + proxyObjectAndPersistInfo);
+ // }
// end for test
if (exclusiveAccessSession) {
try {
@@ -251,17 +251,17 @@
@SuppressWarnings("PMD")
public void methodEnd$JOAFIP$() {
// FIXMELUC _________________________for test
-// if (in()) {
-// System.out.println("methodEnd " + inObjectCount + " "
-// + proxyObjectAndPersistInfo);
-// }
+ // if (in()) {
+ // System.out.println("methodEnd " + inObjectCount + " "
+ // + proxyObjectAndPersistInfo);
+ // }
// end for test
synchronized (storeMutex) {
+ final ObjectAndPersistInfo instanceAndPersistInfo = getInstance$JOAFIP$();
+ if (--inObjectCount == 0) {
+ instanceAndPersistInfo.acceded = false;
+ }
if (autoSaveEnabled) {
- final ObjectAndPersistInfo instanceAndPersistInfo = getInstance$JOAFIP$();
- if (--inObjectCount == 0) {
- instanceAndPersistInfo.acceded = false;
- }
// ASSERTX
assert inObjectCount >= 0 : "running in object count can not be negative, is "
+ inObjectCount
Modified: trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/ProxyManager2.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/ProxyManager2.java 2011-10-21 01:40:53 UTC (rev 2933)
+++ trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/ProxyManager2.java 2011-10-21 03:10:06 UTC (rev 2934)
@@ -117,7 +117,7 @@
} else {
final Class<?> enhancedClass = classEnhancer.enhanceClass(
objectClassInfo, persistenceId,
- objectIOManager.isAutoSaveEnabled());
+ objectIOManager.isExclusiveAccessSession());
instanceCreated = helperReflect
.newInstanceNoConstruction(enhancedClass);
}
@@ -155,7 +155,7 @@
} else {
final Class<?> enhancedClass = classEnhancer.enhanceClass(
objectClassInfo, persistenceId,
- objectIOManager.isAutoSaveEnabled());
+ objectIOManager.isExclusiveAccessSession());
instanceCreated = reflectNewInstanceDefaultConstructor(enhancedClass);
}
if (createEntryinObjectMap) {
@@ -199,7 +199,7 @@
} else {
final Class<?> enhancedClass = classEnhancer.enhanceClass(
objectClassInfo, persistenceId,
- objectIOManager.isAutoSaveEnabled());
+ objectIOManager.isExclusiveAccessSession());
instanceCreated = reflectNewInstanceConstruct(enhancedClass,
parameterTypes, initargs);
}
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestSaveInExclusiveDataAccessSession.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestSaveInExclusiveDataAccessSession.java 2011-10-21 01:40:53 UTC (rev 2933)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestSaveInExclusiveDataAccessSession.java 2011-10-21 03:10:06 UTC (rev 2934)
@@ -96,9 +96,6 @@
super.setUp();
classInfoFactory = new ClassInfoFactory(1);
helperReflect = HelperReflect.getInstance();
- // filePersistence = new FilePersistence(1, null, path,
- // /**/true/* remove files */,
- // /**/false/* do not manage garbage */);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
builder.setPathName(path.getPath());
builder.setProxyMode(true);
@@ -107,7 +104,6 @@
builder.setCrashSafeMode(false);
filePersistence = (FilePersistence) builder.build();
dataAccessSession = filePersistence.createExclusiveDataAccessSession();
- // useJavaAgent = JoafipJavaAgent.isTransformerInstalled();
}
@Override
@@ -266,7 +262,9 @@
}
}
if (fail) {
- fail(builder.toString());
+ final String message = builder.toString();
+ logger.error(message);
+ fail(message);
}
}
Modified: trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/TestProxyAutoSave.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/TestProxyAutoSave.java 2011-10-21 01:40:53 UTC (rev 2933)
+++ trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/TestProxyAutoSave.java 2011-10-21 03:10:06 UTC (rev 2934)
@@ -64,8 +64,9 @@
assertEquals("must not be in object", 0,
proxyManager2.getInObjectCount(object));
- assertEquals("must be in object", 1,
- ((Bob1) object).getInObjectCount(proxyManager2));
+ final int inObjectCount = ((Bob1) object)
+ .getInObjectCount(proxyManager2);
+ assertEquals("must be in object", 1, inObjectCount);
assertEquals("must not be in object", 0,
proxyManager2.getInObjectCount(object));
try {
@@ -84,4 +85,9 @@
public boolean isAutoSaveEnabled() { // NOPMD
return true;
}
+
+ @Override
+ public boolean isExclusiveAccessSession() {
+ return true;
+ }
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <luc...@us...> - 2011-10-21 01:41:05
|
Revision: 2933
http://joafip.svn.sourceforge.net/joafip/?rev=2933&view=rev
Author: luc_peuvrier
Date: 2011-10-21 01:40:53 +0000 (Fri, 21 Oct 2011)
Log Message:
-----------
storage annotation check added in tests
Modified Paths:
--------------
trunk/joafip/src/test/java/net/sf/joafip/entity/TestFilePersistenceProperties.java
trunk/joafip/src/test/java/net/sf/joafip/entity/rel400/BobASDelegatingListenDelegate.java
trunk/joafip/src/test/java/net/sf/joafip/ograph/OGraphTest.java
trunk/joafip/src/test/java/net/sf/joafip/service/AbstractCopyRuntime.java
trunk/joafip/src/test/java/net/sf/joafip/service/AbstractTestCustomObjectIO.java
trunk/joafip/src/test/java/net/sf/joafip/service/AbstractTestFilePersistence.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/TestCustomObjectIOWithBob1Custom.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestCustomObjectIOWithSerializer.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestCustomObjectIOWithSerializerZipper.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/TestMultipleFilePersistenceInstance.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestVersion.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/TestSaveUnloaded.java
trunk/joafip/src/test/java/net/sf/joafip/service/bug/java/util/TestPArrayList.java
trunk/joafip/src/test/java/net/sf/joafip/service/bug/primitive/TestPrimitiveIO.java
trunk/joafip/src/test/java/net/sf/joafip/service/bug/savenum/TestEnumPersistence.java
trunk/joafip/src/test/java/net/sf/joafip/service/bug/savenum/TestEnumPersistenceMemory.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestClassLoaderPersistence.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestImport222NotLazy.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestThisInConstructor.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestUseRuntime222NotLazy.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel301/TestUseRuntime300NotLazy.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/TestConstructEntrySetIteratorOfPMapKeyNavigableSet.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestProxyTestList.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/store/service/AbstractDataManagerTestCase.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/AbstractGarbageTestCase.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/AbstractTestGarbage.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/AbstractTestStoreMemoryLeak.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/TestGarbageForegroundFile.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/TestGarbageForegroundMemory.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/TestGarbageInBackground.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/TestObjectReferenceLinkInMemory.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/TestStoreMemoryLeakCacheNoGarbage.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/TestStoreMemoryLeakNoCacheGarbage.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/TestStoreMemoryLeakNoCacheNoGarbage.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/TestStoreOpenClose.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/TestStoreOpenCloseNoG.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/binary/Test16BitsConverter.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/binary/Test32BitsConverter.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/binary/Test64BitsConverter.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/binary/Test8BitsConverter.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/binary/TestBooleanConverter.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/binary/TestBooleanNullableConverter.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/binary/TestByteConverter.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/binary/TestByteNullableConverter.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/binary/TestCharConverter.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/binary/TestCharNullableConverter.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/binary/TestDoubleConverter.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/binary/TestDoubleNullableConverter.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/binary/TestFloatConverter.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/binary/TestFloatNullableConverter.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/binary/TestIntegerConverter.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/binary/TestIntegerNullableConverter.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/binary/TestLongConverter.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/binary/TestLongNullableConverter.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/binary/TestReferenceConverter.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/binary/TestReferenceNullableConverter.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/binary/TestShortConverter.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/binary/TestShortNullableConverter.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/bytecode/TestForTransform.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/bytecode/TestPersistableCodeGeneratorInner.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/bytecode/agent/TestPackageMgr.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/bytecode/proxy/TestCheckMethodVisitor.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/classinfo/TestClassInfoFactory.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/classinfo/TestClassReplacement.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/collection/nosubs/TestStoreCollectionHashMapNosubsNoG.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/collection/nosubs/TestStoreCollectionHashMapNosubsWithG.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/collection/nosubs/TestStoreCollectionHashTableNosubsNoG.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/collection/nosubs/TestStoreCollectionHashTableNosubsWithG.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/collection/nosubs/TestStoreCollectionTreeMapNosubsNoG.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/collection/nosubs/TestStoreCollectionTreeMapNosubsWithG.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/collection/nosubs/TestStoreCollectionTroveHashMapNosubsNoG.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/collection/nosubs/TestStoreCollectionTroveHashMapNosubsWithG.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/collection/nosubs/TestStoreCollectionVectorNosubsWithG.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/conversion/TestConvertionDefinitionReader.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/conversion/TestReplacementDefMap.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/copier/AbstractTestDeepCopier.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/copier/TestDeepCopier.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/copier/TestProxyDeepCopier.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/garbage/TestLinkManager.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/garbage/TestReferenceLinkGraph.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/garbage/TestStoreGarbager.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/garbage/recordmgr/AbstractGarbageManagerTestCase.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/garbage/recordmgr/TestGarbageCandidateRecordManager.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/garbage/recordmgr/TestLinkRecordManager.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/garbage/recordmgr/TestToGarbageRecordManager.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/heaprecordable/TestHeapRecordableManager.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/objectio/TestClassNameManager.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/objectio/manager/AbstractBinaryDump.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/objectio/manager/AbstractTestIoManager.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/objectio/manager/TestObjectIOManagerGenericCases.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/objectio/manager/TestObjectIOManagerSerializeCase.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/objectio/manager/TestSerializerObjectIOManager.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/objectio/serialize/AbstractObjectIOTest.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/objectio/serialize/AbstractSerializeTest.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/objectio/serialize/ObjectIOBasicTest.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/objectio/serialize/ObjectIOWithSerialPersistenceFieldsTest.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/objectio/serialize/ObjectIOWithSerialPersistenceFieldsUnsharedTest.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/objectio/serialize/ObjectIOWithSerializeCycleTest.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/objectio/serialize/ObjectIOWithSerializeMethodTest.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/AbstractObjectIoManagerForProxyTest.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/ProxyCallBackForTest.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/TestProxyCreation.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/TestProxyCreationConstructed.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/TestProxyManager2.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/synchronizer/TestHashsetSynchronizer.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/synchronizer/TestLinkedListSynchronizer.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/synchronizer/TestMapSynchronizer.java
trunk/joafip-collection/src/main/java/net/sf/joafip/java/util/support/tree/TreeSupport.java
trunk/joafip-collection/src/test/java/net/sf/joafip/java/util/TestIterPArrayList.java
trunk/joafip-common/src/main/java/net/sf/joafip/logger/DummyLogger.java
trunk/joafip-common/src/main/java/net/sf/joafip/logger/IJoafipLogger.java
trunk/joafip-common/src/main/java/net/sf/joafip/logger/JoafipLogger.java
trunk/joafip-common/src/test/java/net/sf/joafip/AbstractJoafipCommonTestCase.java
trunk/joafip-example-simplestore/src/test/java/net/sf/joafip/simplestore/TestSimpleStore.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/RandomFileTest.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/entity/TestAbstractFileStorable.java
trunk/joafip-heapfile/src/test/java/net/sf/joafip/heapfile/record/entity/TestDataRecordIdentifier.java
trunk/joafip-heapfile/src/test/java/net/sf/joafip/heapfile/record/entity/TestMarshall.java
trunk/joafip-heapfile/src/test/java/net/sf/joafip/heapfile/record/service/TestHeapElementManager.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/TestRandomAccessFileCache.java
trunk/joafip-heapfile/src/test/java/net/sf/joafip/heapfile/record/service/TestStoreRestore.java
trunk/joafip-heapfile/src/test/java/net/sf/joafip/heapfile/service/AbstractTestHeapDataManager.java
trunk/joafip-heapfile/src/test/java/net/sf/joafip/heapfile/service/AbstractTestHeapDataManagerRecord.java
trunk/joafip-heapfile/src/test/java/net/sf/joafip/heapfile/service/TestHeapDataManager.java
trunk/joafip-heapfile/src/test/java/net/sf/joafip/heapfile/service/TestHeapDataManagerBackup.java
trunk/joafip-heapfile/src/test/java/net/sf/joafip/heapfile/service/TestHeapDataManagerFreeing.java
trunk/joafip-heapfile/src/test/java/net/sf/joafip/heapfile/service/TestHeapDataMgrWithScenario.java
trunk/joafip-log4j/src/main/java/net/sf/joafip/logger/Log4jAdapter.java
trunk/joafip-meminspector/src/test/java/net/sf/joafip/meminspector/TestMemInspector.java
trunk/joafip-rbtree/src/test/java/net/sf/joafip/redblacktree/service/AbstractTestByPosition.java
trunk/joafip-rbtree/src/test/java/net/sf/joafip/redblacktree/service/AbstractTestDelete.java
trunk/joafip-rbtree/src/test/java/net/sf/joafip/redblacktree/service/AbstractTestInsert.java
trunk/joafip-rbtree/src/test/java/net/sf/joafip/redblacktree/service/AbstractTestNumberOfChild.java
trunk/joafip-rbtree/src/test/java/net/sf/joafip/redblacktree/service/TestAppend.java
trunk/joafip-rbtree/src/test/java/net/sf/joafip/redblacktree/service/TestByPositionDuplicate.java
trunk/joafip-rbtree/src/test/java/net/sf/joafip/redblacktree/service/TestByPositionUnique.java
trunk/joafip-rbtree/src/test/java/net/sf/joafip/redblacktree/service/TestDeleteDuplicate.java
trunk/joafip-rbtree/src/test/java/net/sf/joafip/redblacktree/service/TestDeleteUnique.java
trunk/joafip-rbtree/src/test/java/net/sf/joafip/redblacktree/service/TestFirstLastNext.java
trunk/joafip-rbtree/src/test/java/net/sf/joafip/redblacktree/service/TestIndex.java
trunk/joafip-rbtree/src/test/java/net/sf/joafip/redblacktree/service/TestInsertDuplicate.java
trunk/joafip-rbtree/src/test/java/net/sf/joafip/redblacktree/service/TestInsertUnique.java
trunk/joafip-rbtree/src/test/java/net/sf/joafip/redblacktree/service/TestNumberOfChildDoNotManageNodeIndex.java
trunk/joafip-rbtree/src/test/java/net/sf/joafip/redblacktree/service/TestNumberOfChildManageNodeIndex.java
trunk/joafip-rbtree/src/test/java/net/sf/joafip/redblacktree/service/TestSearchDuplicate.java
trunk/joafip-rbtree/src/test/java/net/sf/joafip/redblacktree/service/TestSearchUnique.java
trunk/joafip-testsuite/src/main/java/net/sf/joafip/InErrorTests.java
trunk/joafip-testsuite/src/main/java/net/sf/joafip/service/rel400/ServiceRel400Tests.java
Added Paths:
-----------
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
Modified: trunk/joafip/src/test/java/net/sf/joafip/entity/TestFilePersistenceProperties.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/entity/TestFilePersistenceProperties.java 2011-10-21 01:36:31 UTC (rev 2932)
+++ trunk/joafip/src/test/java/net/sf/joafip/entity/TestFilePersistenceProperties.java 2011-10-21 01:40:53 UTC (rev 2933)
@@ -18,12 +18,14 @@
import net.sf.joafip.AbstractJoafipTestCase;
import net.sf.joafip.NotStorableClass;
+import net.sf.joafip.StorableAccess;
import net.sf.joafip.TestException;
import net.sf.joafip.service.ClassLoaderProvider;
import net.sf.joafip.service.FilePersistenceException;
import net.sf.joafip.service.FilePersistencePropertiesReader;
@NotStorableClass
+@StorableAccess
public class TestFilePersistenceProperties extends AbstractJoafipTestCase {
private static final String PROP =
Modified: trunk/joafip/src/test/java/net/sf/joafip/entity/rel400/BobASDelegatingListenDelegate.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/entity/rel400/BobASDelegatingListenDelegate.java 2011-10-21 01:36:31 UTC (rev 2932)
+++ trunk/joafip/src/test/java/net/sf/joafip/entity/rel400/BobASDelegatingListenDelegate.java 2011-10-21 01:40:53 UTC (rev 2933)
@@ -37,6 +37,8 @@
@AssertNotNull
private final BobAsDelegateNotifyDelegating delegate;
+ private final boolean constructed;
+
public BobASDelegatingListenDelegate(final IInstanceFactory instanceFactory) {
super();
delegate = BobAsDelegateNotifyDelegating.newInstance(instanceFactory,
@@ -45,8 +47,13 @@
throw new IllegalStateException("delegate must not be null");
}
initialize();// NOPMD
+ constructed = true;
}
+ public boolean isConstructed() {
+ return constructed;
+ }
+
public static BobASDelegatingListenDelegate newInstance(
final IInstanceFactory instanceFactory) {
final BobASDelegatingListenDelegate newInstance;
Modified: trunk/joafip/src/test/java/net/sf/joafip/ograph/OGraphTest.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/ograph/OGraphTest.java 2011-10-21 01:36:31 UTC (rev 2932)
+++ trunk/joafip/src/test/java/net/sf/joafip/ograph/OGraphTest.java 2011-10-21 01:40:53 UTC (rev 2933)
@@ -5,6 +5,7 @@
import java.util.Set;
import net.sf.joafip.AbstractJoafipTestCase;
+import net.sf.joafip.NoStorableAccess;
import net.sf.joafip.NotStorableClass;
import net.sf.joafip.TestException;
import net.sf.joafip.logger.JoafipLogger;
@@ -15,6 +16,7 @@
import net.sf.joafip.store.service.objectfortest.BobContainer;
@NotStorableClass
+@NoStorableAccess
public class OGraphTest extends AbstractJoafipTestCase {
private static final String BAD_PATH = "bad path";
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/AbstractCopyRuntime.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/AbstractCopyRuntime.java 2011-10-21 01:36:31 UTC (rev 2932)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/AbstractCopyRuntime.java 2011-10-21 01:40:53 UTC (rev 2933)
@@ -30,6 +30,7 @@
import net.sf.joafip.AbstractDeleteFileTestCase;
import net.sf.joafip.NotStorableClass;
+import net.sf.joafip.StorableAccess;
import net.sf.joafip.TestException;
/**
@@ -38,6 +39,7 @@
*
*/
@NotStorableClass
+@StorableAccess
public abstract class AbstractCopyRuntime extends AbstractDeleteFileTestCase {
public AbstractCopyRuntime() throws TestException {
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/AbstractTestCustomObjectIO.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/AbstractTestCustomObjectIO.java 2011-10-21 01:36:31 UTC (rev 2932)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/AbstractTestCustomObjectIO.java 2011-10-21 01:40:53 UTC (rev 2933)
@@ -18,6 +18,7 @@
import net.sf.joafip.AbstractDeleteFileTestCase;
import net.sf.joafip.NotStorableClass;
+import net.sf.joafip.StorableAccess;
import net.sf.joafip.TestException;
import net.sf.joafip.entity.EnumFilePersistenceCloseAction;
import net.sf.joafip.store.service.objectfortest.Bob1;
@@ -25,6 +26,7 @@
import net.sf.joafip.store.service.objectfortest.Bob3;
@NotStorableClass
+@StorableAccess
public abstract class AbstractTestCustomObjectIO extends
AbstractDeleteFileTestCase {
@@ -41,7 +43,7 @@
}
@Override
- protected void setUp() throws Exception {
+ protected void setUp() throws Exception { // NOPMD
super.setUp();
// filePersistence = new FilePersistence(1, null, path,
// /**/false/* do not remove files */,
@@ -56,7 +58,7 @@
}
@Override
- protected void tearDown() throws Exception {
+ protected void tearDown() throws Exception { // NOPMD
try {
filePersistence.close();
} catch (final Throwable throwable) {// NOPMD
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/AbstractTestFilePersistence.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/AbstractTestFilePersistence.java 2011-10-21 01:36:31 UTC (rev 2932)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/AbstractTestFilePersistence.java 2011-10-21 01:40:53 UTC (rev 2933)
@@ -18,6 +18,7 @@
import net.sf.joafip.AbstractDeleteFileTestCase;
import net.sf.joafip.NotStorableClass;
+import net.sf.joafip.StorableAccess;
import net.sf.joafip.TestException;
import net.sf.joafip.entity.EnumFilePersistenceCloseAction;
import net.sf.joafip.store.entity.garbage.ReferenceLinkGarbageException;
@@ -26,6 +27,7 @@
import net.sf.joafip.store.service.objectfortest.BobContainer;
@NotStorableClass
+@StorableAccess
public abstract class AbstractTestFilePersistence extends
AbstractDeleteFileTestCase {
@@ -47,7 +49,7 @@
}
@Override
- protected void tearDown() throws Exception {
+ protected void tearDown() throws Exception { // NOPMD
try {
filePersistence.close();
} catch (final Throwable throwable) {// NOPMD
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/TestBobSerializeStackOverflow.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/TestBobSerializeStackOverflow.java 2011-10-21 01:36:31 UTC (rev 2932)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/TestBobSerializeStackOverflow.java 2011-10-21 01:40:53 UTC (rev 2933)
@@ -25,6 +25,8 @@
import java.util.Set;
import net.sf.joafip.AbstractDeleteFileTestCase;
+import net.sf.joafip.NotStorableClass;
+import net.sf.joafip.StorableAccess;
import net.sf.joafip.TestException;
import net.sf.joafip.entity.EnumFilePersistenceCloseAction;
import net.sf.joafip.java.util.PLinkedTreeSet;
@@ -35,6 +37,8 @@
*
* @author luc peuvrier
*/
+@NotStorableClass
+@StorableAccess
public class TestBobSerializeStackOverflow extends AbstractDeleteFileTestCase {
private static final String BIG_BOB_KEY = "bigBobKey";
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/TestClear.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/TestClear.java 2011-10-21 01:36:31 UTC (rev 2932)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/TestClear.java 2011-10-21 01:40:53 UTC (rev 2933)
@@ -24,6 +24,7 @@
import net.sf.joafip.AbstractDeleteFileTestCase;
import net.sf.joafip.NotStorableClass;
+import net.sf.joafip.StorableAccess;
import net.sf.joafip.TestException;
import net.sf.joafip.entity.EnumFilePersistenceCloseAction;
import net.sf.joafip.store.service.objectfortest.Bob1;
@@ -34,6 +35,7 @@
*
*/
@NotStorableClass
+@StorableAccess
public class TestClear extends AbstractDeleteFileTestCase {
private static final String BOB1_KEY = "bob1";
@@ -64,7 +66,7 @@
}
@Override
- protected void tearDown() throws Exception {
+ protected void tearDown() throws Exception { // NOPMD
try {
filePersistence.close();
} catch (final Throwable throwable) {// NOPMD
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/TestCrashSafe.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/TestCrashSafe.java 2011-10-21 01:36:31 UTC (rev 2932)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/TestCrashSafe.java 2011-10-21 01:40:53 UTC (rev 2933)
@@ -28,6 +28,7 @@
import net.sf.joafip.AbstractDeleteFileTestCase;
import net.sf.joafip.NotStorableClass;
+import net.sf.joafip.StorableAccess;
import net.sf.joafip.TestConstant;
import net.sf.joafip.TestException;
import net.sf.joafip.entity.EnumFilePersistenceCloseAction;
@@ -51,6 +52,7 @@
*
*/
@NotStorableClass
+@StorableAccess
public class TestCrashSafe extends AbstractDeleteFileTestCase {
private static final JoafipLogger LOGGER = JoafipLogger
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/TestCustomObjectIOWithBob1Custom.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/TestCustomObjectIOWithBob1Custom.java 2011-10-21 01:36:31 UTC (rev 2932)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/TestCustomObjectIOWithBob1Custom.java 2011-10-21 01:40:53 UTC (rev 2933)
@@ -17,10 +17,12 @@
package net.sf.joafip.service;
import net.sf.joafip.NotStorableClass;
+import net.sf.joafip.StorableAccess;
import net.sf.joafip.TestException;
import net.sf.joafip.store.service.objectfortest.Bob1;
@NotStorableClass
+@StorableAccess
public class TestCustomObjectIOWithBob1Custom extends // NOPMD
AbstractTestCustomObjectIO {
@@ -34,7 +36,7 @@
}
@Override
- protected void setUp() throws Exception {
+ protected void setUp() throws Exception { // NOPMD
super.setUp();
filePersistence.setObjectIOForClass(Bob1.class,
Bob1ObjectInputForTestCustom.class,
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/TestCustomObjectIOWithSerializer.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/TestCustomObjectIOWithSerializer.java 2011-10-21 01:36:31 UTC (rev 2932)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/TestCustomObjectIOWithSerializer.java 2011-10-21 01:40:53 UTC (rev 2933)
@@ -17,12 +17,14 @@
package net.sf.joafip.service;
import net.sf.joafip.NotStorableClass;
+import net.sf.joafip.StorableAccess;
import net.sf.joafip.TestException;
import net.sf.joafip.store.service.objectfortest.Bob1;
import net.sf.joafip.store.service.objectio.serialize.input.ObjectInputSerialize;
import net.sf.joafip.store.service.objectio.serialize.output.ObjectOutputSerialize;
@NotStorableClass
+@StorableAccess
public class TestCustomObjectIOWithSerializer extends // NOPMD
AbstractTestCustomObjectIO {
@@ -36,7 +38,7 @@
}
@Override
- protected void setUp() throws Exception {
+ protected void setUp() throws Exception { // NOPMD
super.setUp();
filePersistence.setObjectIOForClass(Bob1.class,
ObjectInputSerialize.class, ObjectOutputSerialize.class);
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/TestCustomObjectIOWithSerializerZipper.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/TestCustomObjectIOWithSerializerZipper.java 2011-10-21 01:36:31 UTC (rev 2932)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/TestCustomObjectIOWithSerializerZipper.java 2011-10-21 01:40:53 UTC (rev 2933)
@@ -17,12 +17,14 @@
package net.sf.joafip.service;
import net.sf.joafip.NotStorableClass;
+import net.sf.joafip.StorableAccess;
import net.sf.joafip.TestException;
import net.sf.joafip.store.service.objectfortest.Bob1;
import net.sf.joafip.store.service.objectio.serialize.input.ObjectInputSerializeZipped;
import net.sf.joafip.store.service.objectio.serialize.output.ObjectOutputSerializeZipped;
@NotStorableClass
+@StorableAccess
public class TestCustomObjectIOWithSerializerZipper extends // NOPMD
AbstractTestCustomObjectIO {
@@ -36,7 +38,7 @@
}
@Override
- protected void setUp() throws Exception {
+ protected void setUp() throws Exception { // NOPMD
super.setUp();
filePersistence.setObjectIOForClass(Bob1.class,
ObjectInputSerializeZipped.class,
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/TestFilePersistenceNoG.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/TestFilePersistenceNoG.java 2011-10-21 01:36:31 UTC (rev 2932)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/TestFilePersistenceNoG.java 2011-10-21 01:40:53 UTC (rev 2933)
@@ -1,9 +1,11 @@
package net.sf.joafip.service;
import net.sf.joafip.NotStorableClass;
+import net.sf.joafip.StorableAccess;
import net.sf.joafip.TestException;
@NotStorableClass
+@StorableAccess
public class TestFilePersistenceNoG extends AbstractTestFilePersistence {// NOPMD
public TestFilePersistenceNoG() throws TestException {
@@ -15,7 +17,7 @@
}
@Override
- protected void setUp() throws Exception {
+ protected void setUp() throws Exception { // NOPMD
super.setUp();
// filePersistence = new FilePersistence(1, null, path,
// /**/false/* do not remove files */,
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/TestFilePersistenceOpenClose.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/TestFilePersistenceOpenClose.java 2011-10-21 01:36:31 UTC (rev 2932)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/TestFilePersistenceOpenClose.java 2011-10-21 01:40:53 UTC (rev 2933)
@@ -18,11 +18,13 @@
import net.sf.joafip.AbstractDeleteFileTestCase;
import net.sf.joafip.NotStorableClass;
+import net.sf.joafip.StorableAccess;
import net.sf.joafip.TestException;
import net.sf.joafip.entity.EnumFilePersistenceCloseAction;
import net.sf.joafip.java.util.PLinkedList;
@NotStorableClass
+@StorableAccess
public class TestFilePersistenceOpenClose extends AbstractDeleteFileTestCase {
private static final String LIST_MUST_BE_NULL = "list must be null";
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/TestFilePersistenceWithG.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/TestFilePersistenceWithG.java 2011-10-21 01:36:31 UTC (rev 2932)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/TestFilePersistenceWithG.java 2011-10-21 01:40:53 UTC (rev 2933)
@@ -1,9 +1,11 @@
package net.sf.joafip.service;
import net.sf.joafip.NotStorableClass;
+import net.sf.joafip.StorableAccess;
import net.sf.joafip.TestException;
@NotStorableClass
+@StorableAccess
public class TestFilePersistenceWithG extends AbstractTestFilePersistence {// NOPMD
public TestFilePersistenceWithG() throws TestException {
@@ -15,7 +17,7 @@
}
@Override
- protected void setUp() throws Exception {
+ protected void setUp() throws Exception { // NOPMD
super.setUp();
// filePersistence = new FilePersistence(1, null, path,
// /**/false/* do not remove files */,
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/TestMultipleFilePersistenceInstance.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/TestMultipleFilePersistenceInstance.java 2011-10-21 01:36:31 UTC (rev 2932)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/TestMultipleFilePersistenceInstance.java 2011-10-21 01:40:53 UTC (rev 2933)
@@ -26,6 +26,7 @@
import net.sf.joafip.AbstractDeleteFileTestCase;
import net.sf.joafip.NotStorableClass;
+import net.sf.joafip.StorableAccess;
import net.sf.joafip.TestConstant;
import net.sf.joafip.TestException;
import net.sf.joafip.entity.EnumFilePersistenceCloseAction;
@@ -40,6 +41,7 @@
*
*/
@NotStorableClass
+@StorableAccess
public class TestMultipleFilePersistenceInstance extends
AbstractDeleteFileTestCase {
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/TestVersion.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/TestVersion.java 2011-10-21 01:36:31 UTC (rev 2932)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/TestVersion.java 2011-10-21 01:40:53 UTC (rev 2933)
@@ -17,10 +17,12 @@
package net.sf.joafip.service;
import net.sf.joafip.AbstractJoafipTestCase;
+import net.sf.joafip.DoNotTransform;
import net.sf.joafip.NotStorableClass;
import net.sf.joafip.TestException;
@NotStorableClass
+@DoNotTransform
public class TestVersion extends AbstractJoafipTestCase {
public TestVersion() throws TestException {
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 2011-10-21 01:36:31 UTC (rev 2932)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/bug/TestBugChangeLog.java 2011-10-21 01:40:53 UTC (rev 2933)
@@ -18,6 +18,7 @@
import net.sf.joafip.AbstractDeleteFileTestCase;
import net.sf.joafip.NotStorableClass;
+import net.sf.joafip.StorableAccess;
import net.sf.joafip.TestConstant;
import net.sf.joafip.TestException;
import net.sf.joafip.entity.EnumFilePersistenceCloseAction;
@@ -38,6 +39,7 @@
*
*/
@NotStorableClass
+@StorableAccess
public class TestBugChangeLog extends AbstractDeleteFileTestCase {
private static final String SESION_MUST_BE_OPENED = "sesion must be opened";
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 2011-10-21 01:36:31 UTC (rev 2932)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/bug/TestGarbageModeError.java 2011-10-21 01:40:53 UTC (rev 2933)
@@ -18,6 +18,7 @@
import net.sf.joafip.AbstractDeleteFileTestCase;
import net.sf.joafip.NotStorableClass;
+import net.sf.joafip.StorableAccess;
import net.sf.joafip.TestConstant;
import net.sf.joafip.TestException;
import net.sf.joafip.entity.EnumFilePersistenceCloseAction;
@@ -34,6 +35,7 @@
import net.sf.joafip.store.service.proxy.ProxyManager2;
@NotStorableClass
+@StorableAccess
public class TestGarbageModeError extends AbstractDeleteFileTestCase {
private static final String KEY = "key";
@@ -51,7 +53,7 @@
}
@Override
- protected void tearDown() throws Exception {
+ protected void tearDown() throws Exception { // NOPMD
filePersistence = null;// NOPMD
session = null;// NOPMD
}
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 2011-10-21 01:36:31 UTC (rev 2932)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/bug/TestRootObjectMapAutoSave.java 2011-10-21 01:40:53 UTC (rev 2933)
@@ -23,6 +23,8 @@
package net.sf.joafip.service.bug;
import net.sf.joafip.AbstractDeleteFileTestCase;
+import net.sf.joafip.NotStorableClass;
+import net.sf.joafip.StorableAccess;
import net.sf.joafip.TestException;
import net.sf.joafip.service.FilePersistenceBuilder;
import net.sf.joafip.service.FilePersistenceClassNotFoundException;
@@ -39,6 +41,8 @@
* @author luc peuvrier
*
*/
+@NotStorableClass
+@StorableAccess
public class TestRootObjectMapAutoSave extends AbstractDeleteFileTestCase {
public TestRootObjectMapAutoSave() throws TestException {
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/bug/TestSaveUnloaded.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/bug/TestSaveUnloaded.java 2011-10-21 01:36:31 UTC (rev 2932)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/bug/TestSaveUnloaded.java 2011-10-21 01:40:53 UTC (rev 2933)
@@ -17,6 +17,7 @@
package net.sf.joafip.service.bug;
import net.sf.joafip.NotStorableClass;
+import net.sf.joafip.StorableAccess;
import net.sf.joafip.TestException;
import net.sf.joafip.entity.EnumFilePersistenceCloseAction;
import net.sf.joafip.service.FilePersistenceClassNotFoundException;
@@ -29,6 +30,7 @@
import net.sf.joafip.store.service.objectfortest.BobExternalizable;
@NotStorableClass
+@StorableAccess
public class TestSaveUnloaded extends AbstractFilePersistenceForTest {
private static final String KEY = "key";
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/bug/java/util/TestPArrayList.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/bug/java/util/TestPArrayList.java 2011-10-21 01:36:31 UTC (rev 2932)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/bug/java/util/TestPArrayList.java 2011-10-21 01:40:53 UTC (rev 2933)
@@ -23,6 +23,7 @@
package net.sf.joafip.service.bug.java.util;
import net.sf.joafip.AbstractJoafipTestCase;
+import net.sf.joafip.DoNotTransform;
import net.sf.joafip.NotStorableClass;
import net.sf.joafip.TestException;
import net.sf.joafip.java.util.PArrayList;
@@ -34,6 +35,7 @@
*
*/
@NotStorableClass
+@DoNotTransform
public class TestPArrayList extends AbstractJoafipTestCase {
public TestPArrayList() throws TestException {
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/bug/primitive/TestPrimitiveIO.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/bug/primitive/TestPrimitiveIO.java 2011-10-21 01:36:31 UTC (rev 2932)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/bug/primitive/TestPrimitiveIO.java 2011-10-21 01:40:53 UTC (rev 2933)
@@ -17,6 +17,7 @@
package net.sf.joafip.service.bug.primitive;
import net.sf.joafip.NotStorableClass;
+import net.sf.joafip.StorableAccess;
import net.sf.joafip.TestException;
import net.sf.joafip.entity.EnumFilePersistenceCloseAction;
import net.sf.joafip.service.FilePersistenceClassNotFoundException;
@@ -34,6 +35,7 @@
*
*/
@NotStorableClass
+@StorableAccess
public class TestPrimitiveIO extends AbstractFilePersistenceForTest {
private static final String READ_MUST_BE_EQUALS_TO_WROTE = "read must be equals to wrote";
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 2011-10-21 01:36:31 UTC (rev 2932)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/bug/savenum/TestEnumPersistence.java 2011-10-21 01:40:53 UTC (rev 2933)
@@ -26,6 +26,7 @@
import net.sf.joafip.AbstractDeleteFileTestCase;
import net.sf.joafip.NotStorableClass;
+import net.sf.joafip.StorableAccess;
import net.sf.joafip.TestException;
import net.sf.joafip.entity.EnumFilePersistenceCloseAction;
import net.sf.joafip.entity.MutableInteger;
@@ -45,6 +46,7 @@
* @author luc peuvrier
*/
@NotStorableClass
+@StorableAccess
public class TestEnumPersistence extends AbstractDeleteFileTestCase {
private IFilePersistence filePersistence;
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/bug/savenum/TestEnumPersistenceMemory.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/bug/savenum/TestEnumPersistenceMemory.java 2011-10-21 01:36:31 UTC (rev 2932)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/bug/savenum/TestEnumPersistenceMemory.java 2011-10-21 01:40:53 UTC (rev 2933)
@@ -27,6 +27,7 @@
import net.sf.joafip.AbstractDeleteFileTestCase;
import net.sf.joafip.NotStorableClass;
+import net.sf.joafip.StorableAccess;
import net.sf.joafip.TestException;
import net.sf.joafip.entity.EnumFilePersistenceCloseAction;
import net.sf.joafip.entity.MutableInteger;
@@ -50,6 +51,7 @@
* @author luc peuvrier
*/
@NotStorableClass
+@StorableAccess
public class TestEnumPersistenceMemory extends AbstractDeleteFileTestCase {
private IFilePersistence filePersistence;
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 2011-10-21 01:36:31 UTC (rev 2932)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestClassLoaderPersistence.java 2011-10-21 01:40:53 UTC (rev 2933)
@@ -26,6 +26,7 @@
import net.sf.joafip.AbstractDeleteFileTestCase;
import net.sf.joafip.NotStorableClass;
+import net.sf.joafip.StorableAccess;
import net.sf.joafip.TestException;
import net.sf.joafip.entity.EnumFilePersistenceCloseAction;
import net.sf.joafip.service.FilePersistenceBuilder;
@@ -44,6 +45,7 @@
*
*/
@NotStorableClass
+@StorableAccess
public class TestClassLoaderPersistence extends AbstractDeleteFileTestCase {
private static final String KEY = "key";
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 2011-10-21 01:36:31 UTC (rev 2932)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestImport222NotLazy.java 2011-10-21 01:40:53 UTC (rev 2933)
@@ -25,11 +25,13 @@
import java.io.InputStream;
import net.sf.joafip.NotStorableClass;
+import net.sf.joafip.StorableAccess;
import net.sf.joafip.TestException;
import net.sf.joafip.service.FilePersistenceBuilder;
import net.sf.joafip.store.service.conversion.def.InputStreamAndSource;
@NotStorableClass
+@StorableAccess
public class TestImport222NotLazy extends AbstractTestImport222 { // NOPMD
public TestImport222NotLazy() throws TestException {
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 2011-10-21 01:36:31 UTC (rev 2932)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestThisInConstructor.java 2011-10-21 01:40:53 UTC (rev 2933)
@@ -24,6 +24,7 @@
import net.sf.joafip.AbstractDeleteFileTestCase;
import net.sf.joafip.NotStorableClass;
+import net.sf.joafip.StorableAccess;
import net.sf.joafip.TestException;
import net.sf.joafip.entity.EnumFilePersistenceCloseAction;
import net.sf.joafip.entity.ForThisTest;
@@ -44,6 +45,7 @@
*
*/
@NotStorableClass
+@StorableAccess
public class TestThisInConstructor extends AbstractDeleteFileTestCase {
private static final String KEY =
@@ -60,7 +62,7 @@
}
@Override
- protected void setUp() throws Exception {
+ protected void setUp() throws Exception { // NOPMD
super.setUp();
// filePersistence = new FilePersistence(1, null, path, true, false);
final FilePersistenceBuilder builder = new FilePersistenceBuilder();
@@ -73,7 +75,7 @@
}
@Override
- protected void tearDown() throws Exception {
+ protected void tearDown() throws Exception { // NOPMD
try {
filePersistence.close();
} catch (final Exception exception) { // NOPMD
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 2011-10-21 01:36:31 UTC (rev 2932)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestUseRuntime222NotLazy.java 2011-10-21 01:40:53 UTC (rev 2933)
@@ -23,6 +23,7 @@
package net.sf.joafip.service.rel300;
import net.sf.joafip.NotStorableClass;
+import net.sf.joafip.StorableAccess;
import net.sf.joafip.TestException;
import net.sf.joafip.service.FilePersistenceBuilder;
import net.sf.joafip.service.FilePersistenceClassNotFoundException;
@@ -40,6 +41,7 @@
*
*/
@NotStorableClass
+@StorableAccess
public class TestUseRuntime222NotLazy extends AbstractTestUseRuntime222 { // NOPMD
public TestUseRuntime222NotLazy() throws TestException {
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 2011-10-21 01:36:31 UTC (rev 2932)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/rel301/TestUseRuntime300NotLazy.java 2011-10-21 01:40:53 UTC (rev 2933)
@@ -26,6 +26,7 @@
import java.net.URISyntaxException;
import net.sf.joafip.NotStorableClass;
+import net.sf.joafip.StorableAccess;
import net.sf.joafip.TestException;
import net.sf.joafip.service.FilePersistenceBuilder;
import net.sf.joafip.service.FilePersistenceClassNotFoundException;
@@ -42,6 +43,7 @@
*
*/
@NotStorableClass
+@StorableAccess
public class TestUseRuntime300NotLazy extends AbstractTestRuntime300 { // NOPMD
public TestUseRuntime300NotLazy() throws TestException {
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 2011-10-21 01:36:31 UTC (rev 2932)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/rel310/TestUseRuntime301NotLazyConversionA.java 2011-10-21 01:40:53 UTC (rev 2933)
@@ -25,6 +25,7 @@
import java.io.InputStream;
import net.sf.joafip.NotStorableClass;
+import net.sf.joafip.StorableAccess;
import net.sf.joafip.TestException;
import net.sf.joafip.service.FilePersistenceBuilder;
import net.sf.joafip.store.service.conversion.def.InputStreamAndSource;
@@ -35,6 +36,7 @@
*
*/
@NotStorableClass
+@StorableAccess
public class TestUseRuntime301NotLazyConversionA extends AbstractTestRuntime301 { // NOPMD
public TestUseRuntime301NotLazyConversionA() throws TestException {
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 2011-10-21 01:36:31 UTC (rev 2932)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/rel310/TestUseRuntime301NotLazyConversionB.java 2011-10-21 01:40:53 UTC (rev 2933)
@@ -25,6 +25,7 @@
import java.io.InputStream;
import net.sf.joafip.NotStorableClass;
+import net.sf.joafip.StorableAccess;
import net.sf.joafip.TestException;
import net.sf.joafip.service.FilePersistenceBuilder;
import net.sf.joafip.store.service.conversion.def.InputStreamAndSource;
@@ -35,6 +36,7 @@
*
*/
@NotStorableClass
+@StorableAccess
public class TestUseRuntime301NotLazyConversionB extends AbstractTestRuntime301 { // NOPMD
public TestUseRuntime301NotLazyConversionB() throws TestException {
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 2011-10-21 01:36:31 UTC (rev 2932)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestAutoSave.java 2011-10-21 01:40:53 UTC (rev 2933)
@@ -64,6 +64,8 @@
public class TestAutoSave extends AbstractDeleteFileTestCase implements
IAutoSaveEventListener {
+ private static final String MUST_HAS_INSTANCE_FACTORY = "must has instance factory";
+
private static final String MUST_SAVE = "must save";
private static final String KEY = "key";
@@ -316,7 +318,7 @@
FilePersistenceTooBigForSerializationException {
session.open();
final IInstanceFactory instanceFactory = session.getInstanceFactory();
- assertNotNull("must have instance factory", instanceFactory);
+ assertNotNull(MUST_HAS_INSTANCE_FACTORY, instanceFactory);
saveDoneFlag = false;
BobASDelegatingListenDelegate bob = new BobASDelegatingListenDelegate(
@@ -344,13 +346,11 @@
FilePersistenceTooBigForSerializationException {
session.open();
final IInstanceFactory instanceFactory = session.getInstanceFactory();
- assertNotNull("must have instance factory", instanceFactory);
+ assertNotNull(MUST_HAS_INSTANCE_FACTORY, instanceFactory);
saveDoneFlag = false;
- BobASDelegatingListenDelegate bob = (BobASDelegatingListenDelegate) instanceFactory
- .newInstance(BobASDelegatingListenDelegate.class,
- new Class<?>[] { IInstanceFactory.class },
- new Object[] { instanceFactory });
+ BobASDelegatingListenDelegate bob = BobASDelegatingListenDelegate
+ .newInstance(instanceFactory);
assertTrue(MUST_SAVE, saveDoneFlag);
saveDoneFlag = false;
@@ -366,6 +366,22 @@
session.close();
}
+ public void testSaveInConstruction4() throws FilePersistenceException,
+ FilePersistenceClassNotFoundException,
+ FilePersistenceInvalidClassException,
+ FilePersistenceDataCorruptedException,
+ FilePersistenceNotSerializableException,
+ FilePersistenceTooBigForSerializationException, ProxyException {
+ session.open();
+ final IInstanceFactory instanceFactory = session.getInstanceFactory();
+ assertNotNull(MUST_HAS_INSTANCE_FACTORY, instanceFactory);
+ final BobASDelegatingListenDelegate bob = BobASDelegatingListenDelegate
+ .newInstance(instanceFactory);
+ assertTrue("must be a proxy", ProxyManager2.isProxyOrEnhanced(bob));
+ assertTrue("must be unloaded", ProxyManager2.isUnloaded(bob));
+ assertTrue("bad state saved", bob.isConstructed());
+ }
+
public void testWithTransient() throws FilePersistenceException,
FilePersistenceClassNotFoundException,
FilePersistenceInvalidClassException,
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestConstructEntrySetIteratorOfPMapKeyNavigableSet.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestConstructEntrySetIteratorOfPMapKeyNavigableSet.java 2011-10-21 01:36:31 UTC (rev 2932)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestConstructEntrySetIteratorOfPMapKeyNavigableSet.java 2011-10-21 01:40:53 UTC (rev 2933)
@@ -26,6 +26,8 @@
import java.util.NavigableMap;
import net.sf.joafip.AbstractJoafipCommonTestCase;
+import net.sf.joafip.DoNotTransform;
+import net.sf.joafip.NotStorableClass;
import net.sf.joafip.TestException;
import net.sf.joafip.java.util.PMapKeyNavigableSet;
import net.sf.joafip.java.util.PTreeMap;
@@ -39,6 +41,8 @@
* @author luc peuvrier
*
*/
+@NotStorableClass
+@DoNotTransform
public class TestConstructEntrySetIteratorOfPMapKeyNavigableSet extends
AbstractJoafipCommonTestCase implements IInstanceFactory {
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestProxyTestList.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestProxyTestList.java 2011-10-21 01:36:31 UTC (rev 2932)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestProxyTestList.java 2011-10-21 01:40:53 UTC (rev 2933)
@@ -16,6 +16,7 @@
*/
package net.sf.joafip.service.rel400;
+import net.sf.joafip.DoNotTransform;
import net.sf.joafip.NotStorableClass;
import net.sf.joafip.TestException;
import net.sf.joafip.entity.rel400.ProxyTestList;
@@ -29,6 +30,7 @@
*
*/
@NotStorableClass
+@DoNotTransform
public class TestProxyTestList extends AbstractLinkedListTest {
public TestProxyTestList() throws TestException {
@@ -40,7 +42,7 @@
}
@Override
- protected void setUp() throws Exception {
+ protected void setUp() throws Exception { // NOPMD
linkedList = new ProxyTestList<String>();
super.setUp();
}
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestRuntime310Garbage.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestRuntime310Garbage.java 2011-10-21 01:36:31 UTC (rev 2932)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestRuntime310Garbage.java 2011-10-21 01:40:53 UTC (rev 2933)
@@ -5,6 +5,7 @@
import java.util.Set;
import net.sf.joafip.NotStorableClass;
+import net.sf.joafip.StorableAccess;
import net.sf.joafip.TestException;
import net.sf.joafip.heapfile.record.entity.DataRecordIdentifier;
import net.sf.joafip.heapfile.service.HeapException;
@@ -33,6 +34,7 @@
import net.sf.joafip.store.service.proxy.ProxyManager2;
@NotStorableClass
+@StorableAccess
public class TestRuntime310Garbage extends AbstractCopyRuntime implements
IGarbageListener {
Modified: trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestSaveInExclusiveDataAccessSession.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestSaveInExclusiveDataAccessSession.java 2011-10-21 01:36:31 UTC (rev 2932)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestSaveInExclusiveDataAccessSession.java 2011-10-21 01:40:53 UTC (rev 2933)
@@ -29,6 +29,7 @@
import net.sf.joafip.AbstractDeleteFileTestCase;
import net.sf.joafip.NotStorableClass;
+import net.sf.joafip.StorableAccess;
import net.sf.joafip.TestException;
import net.sf.joafip.java.util.PLinkedList;
import net.sf.joafip.reflect.HelperReflect;
@@ -67,6 +68,7 @@
*
*/
@NotStorableClass
+@StorableAccess
public class TestSaveInExclusiveDataAccessSession extends
AbstractDeleteFileTestCase {
@@ -251,16 +253,12 @@
final Object object = objectAndPersistInfo.getObject();
if (!excludedObjectSet.containsKey(object)) {
fail = true;
- builder.append(object.getClass().getName());
+ builder.append(objectAndPersistInfo.toString());
builder.append(", loaded=");
try {
final boolean loadedOrNotAProxy = ProxyManager2
.isLoadedOrNotAProxy(object);
builder.append(loadedOrNotAProxy);
- if (loadedOrNotAProxy) {
- builder.append(", ");
- builder.append(object.toString());
- }
} catch (final ProxyException exception) {
builder.append(exception.getMessage());
}
Added: trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestTreeMapIteratorAutoSave.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestTreeMapIteratorAutoSave.java (rev 0)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestTreeMapIteratorAutoSave.java 2011-10-21 01:40:53 UTC (rev 2933)
@@ -0,0 +1,116 @@
+/*
+ * Copyright 2011 Luc Peuvrier
+ *
+ * This file is a part of JOAFIP.
+ *
+ * JOAFIP is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License.
+ *
+ * Licensed under the GNU LESSER GENERAL PUBLIC LICENSE
+ * Licensed under the LGPL License, Version 3, 29 June 2007 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.gnu.org/licenses/lgpl.html
+ *
+ * JOAFIP is distributed in the hope that it will be useful, but
+ * unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package net.sf.joafip.service.rel400;
+
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Map.Entry;
+
+import net.sf.joafip.AbstractDeleteFileTestCase;
+import net.sf.joafip.NotStorableClass;
+import net.sf.joafip.StorableAccess;
+import net.sf.joafip.TestException;
+import net.sf.joafip.java.util.PTreeMap;
+import net.sf.joafip.service.FilePersistenceBuilder;
+import net.sf.joafip.service.FilePersistenceClassNotFoundException;
+import net.sf.joafip.service.FilePersistenceDataCorruptedException;
+import net.sf.joafip.service.FilePersistenceException;
+import net.sf.joafip.service.FilePersistenceInvalidClassException;
+import net.sf.joafip.service.FilePersistenceNotSerializableException;
+import net.sf.joafip.service.FilePersistenceTooBigForSerializationException;
+import net.sf.joafip.service.IExclusiveDataAccessSession;
+import net.sf.joafip.service.IFilePersistence;
+import net.sf.joafip.store.service.proxy.IInstanceFactory;
+
+/**
+ *
+ * @author luc peuvrier
+ *
+ */
+@NotStorableClass
+@StorableAccess
+public class TestTreeMapIteratorAutoSave extends AbstractDeleteFileTestCase {
+
+ public final static String ID_KEY_NAME = "idKey";
+
+ public static final String TYPE_KEY_NAME = "typeKey";
+
+ private IFilePersistence filePersistence;
+
+ public TestTreeMapIteratorAutoSave() throws TestException {
+ super();
+ }
+
+ public TestTreeMapIteratorAutoSave(final String name) throws TestException {
+ super(name);
+ }
+
+ @Override
+ public void setUp() throws Exception { // NOPMD
+ super.setUp();
+ final FilePersistenceBuilder builder = new FilePersistenceBuilder();
+ builder.setPathName("z:/runtime");
+ builder.setRemoveFiles(true);
+ builder.setProxyMode(true);
+ builder.setAutoSaveEnabled(true);
+ builder.setMaxInMemoryThreshold(0);
+ builder.setMaintenedInMemory(false);
+ filePersistence = builder.build();
+ }
+
+ @Override
+ public void tearDown() throws Exception { // NOPMD
+ try {
+ filePersistence.close();
+ } catch (Exception e) { // NOPMD
+ // ignore error
+ }
+ super.tearDown();
+ }
+
+ @SuppressWarnings("unchecked")
+ public void test0() throws FilePersistenceException,
+ FilePersistenceClassNotFoundException,
+ FilePersistenceInvalidClassException,
+ FilePersistenceDataCorruptedException,
+ FilePersistenceNotSerializableException,
+ FilePersistenceTooBigForSerializationException {
+ final IExclusiveDataAccessSession session = filePersistence
+ .createExclusiveDataAccessSession();
+
+ final IInstanceFactory instanceFactory = session.getInstanceFactory();
+ session.open();
+ final Map<String, String> map = PTreeMap.newInstance(instanceFactory);
+ map.put(ID_KEY_NAME, ID_KEY_NAME);
+ map.put(TYPE_KEY_NAME, TYPE_KEY_NAME);
+ final Iterator<Entry<String, String>> iterator = map.entrySet()
+ .iterator();
+ assertTrue("must has first element", iterator.hasNext());
+ Entry<String, String> next = iterator.next();
+ assertEquals("bad first key", ID_KEY_NAME, next.getKey());
+ assertTrue("must has second element", iterator.hasNext());
+ next = iterator.next();
+ assertEquals("bad second key", TYPE_KEY_NAME, next.getKey());
+ assertFalse("must not has more element", iterator.hasNext());
+ }
+}
Added: trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestTreeSetIteratorAutoSave.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestTreeSetIteratorAutoSave.java (rev 0)
+++ trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestTreeSetIteratorAutoSave.java 2011-10-21 01:40:53 UTC (rev 2933)
@@ -0,0 +1,114 @@
+/*
+ * Copyright 2011 Luc Peuvrier
+ *
+ * This file is a part of JOAFIP.
+ *
+ * JOAFIP is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License.
+ *
+ * Licensed under the GNU LESSER GENERAL PUBLIC LICENSE
+ * Licensed under the LGPL License, Version 3, 29 June 2007 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.gnu.org/licenses/lgpl.html
+ *
+ * JOAFIP is distributed in t...
[truncated message content] |
|
From: <luc...@us...> - 2011-10-21 01:41:02
|
Revision: 2933
http://joafip.svn.sourceforge.net/joafip/?rev=2933&view=rev
Author: luc_peuvrier
Date: 2011-10-21 01:40:53 +0000 (Fri, 21 Oct 2011)
Log Message:
-----------
storage annotation check added in tests
Modified Paths:
--------------
trunk/joafip/src/test/java/net/sf/joafip/entity/TestFilePersistenceProperties.java
trunk/joafip/src/test/java/net/sf/joafip/entity/rel400/BobASDelegatingListenDelegate.java
trunk/joafip/src/test/java/net/sf/joafip/ograph/OGraphTest.java
trunk/joafip/src/test/java/net/sf/joafip/service/AbstractCopyRuntime.java
trunk/joafip/src/test/java/net/sf/joafip/service/AbstractTestCustomObjectIO.java
trunk/joafip/src/test/java/net/sf/joafip/service/AbstractTestFilePersistence.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/TestCustomObjectIOWithBob1Custom.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestCustomObjectIOWithSerializer.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestCustomObjectIOWithSerializerZipper.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/TestMultipleFilePersistenceInstance.java
trunk/joafip/src/test/java/net/sf/joafip/service/TestVersion.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/TestSaveUnloaded.java
trunk/joafip/src/test/java/net/sf/joafip/service/bug/java/util/TestPArrayList.java
trunk/joafip/src/test/java/net/sf/joafip/service/bug/primitive/TestPrimitiveIO.java
trunk/joafip/src/test/java/net/sf/joafip/service/bug/savenum/TestEnumPersistence.java
trunk/joafip/src/test/java/net/sf/joafip/service/bug/savenum/TestEnumPersistenceMemory.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestClassLoaderPersistence.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestImport222NotLazy.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestThisInConstructor.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel300/TestUseRuntime222NotLazy.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel301/TestUseRuntime300NotLazy.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/TestConstructEntrySetIteratorOfPMapKeyNavigableSet.java
trunk/joafip/src/test/java/net/sf/joafip/service/rel400/TestProxyTestList.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/store/service/AbstractDataManagerTestCase.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/AbstractGarbageTestCase.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/AbstractTestGarbage.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/AbstractTestStoreMemoryLeak.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/TestGarbageForegroundFile.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/TestGarbageForegroundMemory.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/TestGarbageInBackground.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/TestObjectReferenceLinkInMemory.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/TestStoreMemoryLeakCacheNoGarbage.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/TestStoreMemoryLeakNoCacheGarbage.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/TestStoreMemoryLeakNoCacheNoGarbage.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/TestStoreOpenClose.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/TestStoreOpenCloseNoG.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/binary/Test16BitsConverter.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/binary/Test32BitsConverter.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/binary/Test64BitsConverter.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/binary/Test8BitsConverter.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/binary/TestBooleanConverter.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/binary/TestBooleanNullableConverter.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/binary/TestByteConverter.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/binary/TestByteNullableConverter.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/binary/TestCharConverter.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/binary/TestCharNullableConverter.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/binary/TestDoubleConverter.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/binary/TestDoubleNullableConverter.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/binary/TestFloatConverter.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/binary/TestFloatNullableConverter.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/binary/TestIntegerConverter.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/binary/TestIntegerNullableConverter.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/binary/TestLongConverter.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/binary/TestLongNullableConverter.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/binary/TestReferenceConverter.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/binary/TestReferenceNullableConverter.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/binary/TestShortConverter.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/binary/TestShortNullableConverter.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/bytecode/TestForTransform.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/bytecode/TestPersistableCodeGeneratorInner.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/bytecode/agent/TestPackageMgr.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/bytecode/proxy/TestCheckMethodVisitor.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/classinfo/TestClassInfoFactory.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/classinfo/TestClassReplacement.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/collection/nosubs/TestStoreCollectionHashMapNosubsNoG.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/collection/nosubs/TestStoreCollectionHashMapNosubsWithG.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/collection/nosubs/TestStoreCollectionHashTableNosubsNoG.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/collection/nosubs/TestStoreCollectionHashTableNosubsWithG.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/collection/nosubs/TestStoreCollectionTreeMapNosubsNoG.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/collection/nosubs/TestStoreCollectionTreeMapNosubsWithG.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/collection/nosubs/TestStoreCollectionTroveHashMapNosubsNoG.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/collection/nosubs/TestStoreCollectionTroveHashMapNosubsWithG.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/collection/nosubs/TestStoreCollectionVectorNosubsWithG.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/conversion/TestConvertionDefinitionReader.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/conversion/TestReplacementDefMap.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/copier/AbstractTestDeepCopier.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/copier/TestDeepCopier.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/copier/TestProxyDeepCopier.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/garbage/TestLinkManager.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/garbage/TestReferenceLinkGraph.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/garbage/TestStoreGarbager.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/garbage/recordmgr/AbstractGarbageManagerTestCase.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/garbage/recordmgr/TestGarbageCandidateRecordManager.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/garbage/recordmgr/TestLinkRecordManager.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/garbage/recordmgr/TestToGarbageRecordManager.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/heaprecordable/TestHeapRecordableManager.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/objectio/TestClassNameManager.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/objectio/manager/AbstractBinaryDump.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/objectio/manager/AbstractTestIoManager.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/objectio/manager/TestObjectIOManagerGenericCases.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/objectio/manager/TestObjectIOManagerSerializeCase.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/objectio/manager/TestSerializerObjectIOManager.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/objectio/serialize/AbstractObjectIOTest.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/objectio/serialize/AbstractSerializeTest.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/objectio/serialize/ObjectIOBasicTest.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/objectio/serialize/ObjectIOWithSerialPersistenceFieldsTest.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/objectio/serialize/ObjectIOWithSerialPersistenceFieldsUnsharedTest.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/objectio/serialize/ObjectIOWithSerializeCycleTest.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/objectio/serialize/ObjectIOWithSerializeMethodTest.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/AbstractObjectIoManagerForProxyTest.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/ProxyCallBackForTest.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/TestProxyCreation.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/TestProxyCreationConstructed.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/proxy/TestProxyManager2.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/synchronizer/TestHashsetSynchronizer.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/synchronizer/TestLinkedListSynchronizer.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/synchronizer/TestMapSynchronizer.java
trunk/joafip-collection/src/main/java/net/sf/joafip/java/util/support/tree/TreeSupport.java
trunk/joafip-collection/src/test/java/net/sf/joafip/java/util/TestIterPArrayList.java
trunk/joafip-common/src/main/java/net/sf/joafip/logger/DummyLogger.java
trunk/joafip-common/src/main/java/net/sf/joafip/logger/IJoafipLogger.java
trunk/joafip-common/src/main/java/net/sf/joafip/logger/JoafipLogger.java
trunk/joafip-common/src/test/java/net/sf/joafip/AbstractJoafipCommonTestCase.java
trunk/joafip-example-simplestore/src/test/java/net/sf/joafip/simplestore/TestSimpleStore.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/RandomFileTest.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/entity/TestAbstractFileStorable.java
trunk/joafip-heapfile/src/test/java/net/sf/joafip/heapfile/record/entity/TestDataRecordIdentifier.java
trunk/joafip-heapfile/src/test/java/net/sf/joafip/heapfile/record/entity/TestMarshall.java
trunk/joafip-heapfile/src/test/java/net/sf/joafip/heapfile/record/service/TestHeapElementManager.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/TestRandomAccessFileCache.java
trunk/joafip-heapfile/src/test/java/net/sf/joafip/heapfile/record/service/TestStoreRestore.java
trunk/joafip-heapfile/src/test/java/net/sf/joafip/heapfile/service/AbstractTestHeapDataManager.java
trunk/joafip-heapfile/src/test/java/net/sf/joafip/heapfile/service/AbstractTestHeapDataManagerRecord.java
trunk/joafip-heapfile/src/test/java/net/sf/joafip/heapfile/service/TestHeapDataManager.java
trunk/joafip-heapfile/src/test/java/net/sf/joafip/heapfile/service/TestHeapDataManagerBackup.java
trunk/joafip-heapfile/src/test/java/net/sf/joafip/heapfile/service/TestHeapDataManagerFreeing.java
trunk/joafip-heapfile/src/test/java/net/sf/joafip/heapfile/service/TestHeapDataMgrWithScenario.java
trunk/joafip-log4j/src/main/java/net/sf/joafip/logger/Log4jAdapter.java
trunk/joafip-meminspector/src/test/java/net/sf/joafip/meminspector/TestMemInspector.java
trunk/joafip-rbtree/src/test/java/net/sf/joafip/redblacktree/service/AbstractTestByPosition.java
trunk/joafip-rbtree/src/test/java/net/sf/joafip/redblacktree/service/AbstractTestDelete.java
trunk/joafip-rbtree/src/test/java/net/sf/joafip/redblacktree/service/AbstractTestInsert.java
trunk/joafip-rbtree/src/test/java/net/sf/joafip/redblacktree/service/AbstractTestNumberOfChild.java
trunk/joafip-rbtree/src/test/java/net/sf/joafip/redblacktree/service/TestAppend.java
trunk/joafip-rbtree/src/test/java/net/sf/joafip/redblacktree/service/TestByPositionDuplicate.java
trunk/joafip-rbtree/src/test/java/net/sf/joafip/redblacktree/service/TestByPositionUnique.java
trunk/joafip-rbtree/src/test/java/net/sf/joafip/redblacktree/service/TestDeleteDuplicate.java
trunk/joafip-rbtree/src/test/java/net/sf/joafip/redblacktree/service/TestDeleteUnique.java
trunk/joafip-rbtree/src/test/java/net/sf/joafip/redblacktree/service/TestFirstLastNext.java
trunk/joafip-rbtree/src/test/java/net/sf/joafip/redblacktree/service/TestIndex.java
trunk/joafip-rbtree/src/test/java/net/sf/joafip/redblacktree/service/TestInsertDuplicate.java
trunk/joafip-rbtree/src/test/java/net/sf/joafip/redblacktree/service/TestInsertUnique.java
trunk/joafip-rbtree/src/test/java/net/sf/joafip/redblacktree/service/TestNumberOfChildDoNotManageNodeIndex.java
trunk/joafip-rbtree/src/test/java/net/sf/joafip/redblacktree/service/TestNumberOfChildManageNodeIndex.java
trunk/joafip-rbtree/src/test/java/net/sf/joafip/redblacktree/service/TestSearchDuplicate.java
trunk/joafip-rbtree/src/test/java/net/sf/joafip/redblacktree/service/TestSearchUnique.java
trunk/joafip-testsuite/src/main/java/net/sf/joafip/InErrorTests.java
trunk/joafip-testsuite/src/main/java/net/sf/joafip/service/rel400/ServiceRel400Tests.java
Added Paths:
-----------
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
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <luc...@us...> - 2011-10-21 01:36:37
|
Revision: 2932
http://joafip.svn.sourceforge.net/joafip/?rev=2932&view=rev
Author: luc_peuvrier
Date: 2011-10-21 01:36:31 +0000 (Fri, 21 Oct 2011)
Log Message:
-----------
do not weak reference object if acceded
Modified Paths:
--------------
trunk/joafip/src/main/java/net/sf/joafip/store/entity/objectio/ObjectAndPersistInfo.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/objectio/manager/IObjectIOManagerForProxyObjectIO.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/objectio/manager/ObjectIOManager.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/objectio/manager/SerializerObjectIOManager.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/objectio/serialize/input/AbstractObjectInputGeneric.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/objectio/serialize/output/AbstractObjectOutput.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/ProxyCallBack.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/saver/StoreSaver3.java
Modified: trunk/joafip/src/main/java/net/sf/joafip/store/entity/objectio/ObjectAndPersistInfo.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/store/entity/objectio/ObjectAndPersistInfo.java 2011-10-21 01:32:42 UTC (rev 2931)
+++ trunk/joafip/src/main/java/net/sf/joafip/store/entity/objectio/ObjectAndPersistInfo.java 2011-10-21 01:36:31 UTC (rev 2932)
@@ -137,8 +137,11 @@
public ObjectAndPersistInfo nextReferenced;
+ // FIXMELUC __why for checkAssertNotNull
public boolean checkAssertNotNull = true;
+ public boolean acceded;
+
/**
* for {@link #NULL} and {@link ObjectAndPersistInfo#NULL_DEFINED }
*/
@@ -412,7 +415,7 @@
// object!=null may be unreferenced object and statemap not already
// cleared
final boolean weaked;
- if (weakReference == null && object != null) {
+ if (!acceded && weakReference == null && object != null) {
weakReference = new ObjectAndPersistInfoWeakReference(object, this,
queue);
clear();// Unreferenced
@@ -591,7 +594,7 @@
} else {
weak = weakReference.get();
}
- return /**/"weeakReference["
+ return /**/"weakReference["
/**/+ (weakReference == null ?
/**/"none" : // NOPMD
/**/(weak == null ? "null" : (weak.getClass()
Modified: trunk/joafip/src/main/java/net/sf/joafip/store/service/objectio/manager/IObjectIOManagerForProxyObjectIO.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/store/service/objectio/manager/IObjectIOManagerForProxyObjectIO.java 2011-10-21 01:32:42 UTC (rev 2931)
+++ trunk/joafip/src/main/java/net/sf/joafip/store/service/objectio/manager/IObjectIOManagerForProxyObjectIO.java 2011-10-21 01:36:31 UTC (rev 2932)
@@ -169,6 +169,9 @@
void unsetProxyObjectState(ObjectAndPersistInfo objectAndItsClassInfo)
throws ObjectIOException, ObjectIOInvalidClassException;
+ void saveAndUnsetProxyObjectState(ObjectAndPersistInfo objectAndItsClassInfo)
+ throws ObjectIOException, ObjectIOInvalidClassException;
+
IProxyManagerForObjectIO getProxyManager2();
ClassInfoFactory getClassInfoFactory();
Modified: trunk/joafip/src/main/java/net/sf/joafip/store/service/objectio/manager/ObjectIOManager.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/store/service/objectio/manager/ObjectIOManager.java 2011-10-21 01:32:42 UTC (rev 2931)
+++ trunk/joafip/src/main/java/net/sf/joafip/store/service/objectio/manager/ObjectIOManager.java 2011-10-21 01:36:31 UTC (rev 2932)
@@ -308,6 +308,14 @@
}
@Override
+ public void saveAndUnsetProxyObjectState(
+ final ObjectAndPersistInfo objectAndItsClassInfo)
+ throws ObjectIOException, ObjectIOInvalidClassException {
+ save();
+ unsetProxyObjectState(objectAndItsClassInfo);
+ }
+
+ @Override
protected DataRecordIdentifier associateNewDataRecordIdentifierToObject(
final ObjectAndPersistInfo objectAndPersistInfo)
throws ObjectIODataCorruptedException, ObjectIOException {
@@ -624,6 +632,7 @@
@Override
public void objectIsAccessed(final ObjectAndPersistInfo objectAndPersistInfo) {
+ objectAndPersistInfo.acceded = true;
objectIsAccessedDelegate(objectAndPersistInfo);
}
@@ -683,34 +692,36 @@
// final int numberOfObjectState = getNumberOfObjectState();
final int numberOfObjectState = getNumberOfReferenced();
if (numberOfObjectState >= maxInMemoryThreshold && doAutoSave()) {
- try {
- final long beginTime = System.currentTimeMillis();
- final boolean saveDone = saver.autoSave();
- if (saveDone) {
- final long duration = System.currentTimeMillis()
- - beginTime;
- final int newNumberOfObjectState = getNumberOfObjectState();
- final int numberOfWeakreference = getNumberOfWeakReference();
- if (autoSaveEventListener != null) {
- autoSaveEventListener.saveDone(
- newNumberOfObjectState,
- numberOfWeakreference, duration);
- }
- }
- } catch (final FilePersistenceException exception) {
- throw new ObjectIOException(exception);
- } catch (final FilePersistenceInvalidClassException exception) {
- throw new ObjectIOException(exception);
- } catch (final FilePersistenceNotSerializableException exception) {
- throw new ObjectIOException(exception);
- } catch (final FilePersistenceClassNotFoundException exception) {
- throw new ObjectIOException(exception);
- } catch (final FilePersistenceDataCorruptedException exception) {
- throw new ObjectIOException(exception);
- } catch (final FilePersistenceTooBigForSerializationException exception) {
- throw new ObjectIOException(exception);
+ save();
+ }
+ }
+ }
+
+ protected void save() throws ObjectIOException {
+ try {
+ final long beginTime = System.currentTimeMillis();
+ final boolean saveDone = saver.autoSave();
+ if (saveDone) {
+ final long duration = System.currentTimeMillis() - beginTime;
+ final int newNumberOfObjectState = getNumberOfObjectState();
+ final int numberOfWeakreference = getNumberOfWeakReference();
+ if (autoSaveEventListener != null) {
+ autoSaveEventListener.saveDone(newNumberOfObjectState,
+ numberOfWeakreference, duration);
}
}
+ } catch (final FilePersistenceException exception) {
+ throw new ObjectIOException(exception);
+ } catch (final FilePersistenceInvalidClassException exception) {
+ throw new ObjectIOException(exception);
+ } catch (final FilePersistenceNotSerializableException exception) {
+ throw new ObjectIOException(exception);
+ } catch (final FilePersistenceClassNotFoundException exception) {
+ throw new ObjectIOException(exception);
+ } catch (final FilePersistenceDataCorruptedException exception) {
+ throw new ObjectIOException(exception);
+ } catch (final FilePersistenceTooBigForSerializationException exception) {
+ throw new ObjectIOException(exception);
}
}
Modified: trunk/joafip/src/main/java/net/sf/joafip/store/service/objectio/manager/SerializerObjectIOManager.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/store/service/objectio/manager/SerializerObjectIOManager.java 2011-10-21 01:32:42 UTC (rev 2931)
+++ trunk/joafip/src/main/java/net/sf/joafip/store/service/objectio/manager/SerializerObjectIOManager.java 2011-10-21 01:36:31 UTC (rev 2932)
@@ -375,6 +375,13 @@
throw new ObjectIOException(MUST_NOT_BE_CALLED);
}
+ @Override
+ public void saveAndUnsetProxyObjectState(
+ final ObjectAndPersistInfo objectAndItsClassInfo)
+ throws ObjectIOException, ObjectIOInvalidClassException {
+ throw new ObjectIOException(MUST_NOT_BE_CALLED);
+ }
+
/** not maintain in memory for joafip serialization in one data record */
@Override
public boolean isMaintainInMemoryEnabled() {
Modified: trunk/joafip/src/main/java/net/sf/joafip/store/service/objectio/serialize/input/AbstractObjectInputGeneric.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/store/service/objectio/serialize/input/AbstractObjectInputGeneric.java 2011-10-21 01:32:42 UTC (rev 2931)
+++ trunk/joafip/src/main/java/net/sf/joafip/store/service/objectio/serialize/input/AbstractObjectInputGeneric.java 2011-10-21 01:36:31 UTC (rev 2932)
@@ -200,7 +200,6 @@
ObjectIODataRecordNotFoundException, ObjectIOInvalidClassException,
ObjectIOClassNotFoundException, ObjectIODataCorruptedException,
ObjectIONotSerializableException {
-
final FieldInfo[] fieldToSetInfo = getFieldToSetInfoImpl(objectAndPersistInfo.objectClassInfo);
objectAndPersistInfo.fieldToSetInfo = fieldToSetInfo;
@@ -923,8 +922,8 @@
fieldValueAndPersistInfo);
}
if (logger.debugEnabled) {
- logger.debug("set field " + fieldInfo.getFieldName() + " is null="
- + (fieldValueAndPersistInfo.getObject() == null));
+ logger.debug("set field " + fieldInfo.getFieldName() + " value="
+ + fieldValueAndPersistInfo);
}
}
Modified: trunk/joafip/src/main/java/net/sf/joafip/store/service/objectio/serialize/output/AbstractObjectOutput.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/store/service/objectio/serialize/output/AbstractObjectOutput.java 2011-10-21 01:32:42 UTC (rev 2931)
+++ trunk/joafip/src/main/java/net/sf/joafip/store/service/objectio/serialize/output/AbstractObjectOutput.java 2011-10-21 01:36:31 UTC (rev 2932)
@@ -307,10 +307,10 @@
.getDeclaredClassInfo();
final String name = declaredClassInfo.getName();
if (logger.debugEnabled) {
- logger.debug("wrote field " + name + ", is null="
- + (value == null) + ", primitive="
- + declaredClassInfo.isPrimitiveType() + ", at offset "
- + offset);
+ logger.debug("wrote field " + name + ", value="
+ + valueAndType.getObjectAndPersistInfo()
+ + ", primitive=" + declaredClassInfo.isPrimitiveType()
+ + ", at offset " + offset);
}
}
if (valueAndType.declaredIsBasicOrPrimitive()) {
Modified: trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/ProxyCallBack.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/ProxyCallBack.java 2011-10-21 01:32:42 UTC (rev 2931)
+++ trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/ProxyCallBack.java 2011-10-21 01:36:31 UTC (rev 2932)
@@ -175,6 +175,17 @@
return result;
}
+ // FIXMELUC _________________________for test
+// private boolean in() {
+// final StackTraceElement[] stackTraceElements = new Exception()
+// .getStackTrace();
+// final StackTraceElement stackTraceElement = stackTraceElements[3];
+// final String className = stackTraceElement.getClassName();
+// final String methodName = stackTraceElement.getMethodName();
+// return className.contains("MultiMap")
+// && methodName.contains("addKeyDefinition");
+// }
+
@Override
@SuppressWarnings("PMD")
public void intercept$JOAFIP$() {
@@ -182,7 +193,12 @@
if (autoSaveEnabled) {
inObjectCount++;
}
-
+ // FIXMELUC _________________________for test
+// if (in()) {
+// System.out.println("intercept " + inObjectCount + " "
+// + proxyObjectAndPersistInfo);
+// }
+ // end for test
if (exclusiveAccessSession) {
try {
objectIOManager.objectIsAccessed(getInstance$JOAFIP$());
@@ -234,11 +250,23 @@
@Override
@SuppressWarnings("PMD")
public void methodEnd$JOAFIP$() {
+ // FIXMELUC _________________________for test
+// if (in()) {
+// System.out.println("methodEnd " + inObjectCount + " "
+// + proxyObjectAndPersistInfo);
+// }
+ // end for test
synchronized (storeMutex) {
if (autoSaveEnabled) {
- inObjectCount--;
+ final ObjectAndPersistInfo instanceAndPersistInfo = getInstance$JOAFIP$();
+ if (--inObjectCount == 0) {
+ instanceAndPersistInfo.acceded = false;
+ }
// ASSERTX
- assert inObjectCount >= 0 : "running in object count can be negative";
+ assert inObjectCount >= 0 : "running in object count can not be negative, is "
+ + inObjectCount
+ + " "
+ + getInstance$JOAFIP$().toString();
if (!wasLoaded && loaded && inObjectCount == 0) {
try {
objectIOManager.newObjectLoaded();
@@ -249,11 +277,10 @@
if (toUnload && inObjectCount == 0) {
toUnload = false;
loaded = false;
- final ObjectAndPersistInfo instanceAndPersistInfo = getInstance$JOAFIP$();
assert instanceAndPersistInfo != null;
try {
objectIOManager
- .unsetProxyObjectState(instanceAndPersistInfo);
+ .saveAndUnsetProxyObjectState(instanceAndPersistInfo);
} catch (Exception exception) {
LOGGER.error("method end interception error", exception);
throw new ProxyInterceptException(
Modified: trunk/joafip/src/main/java/net/sf/joafip/store/service/saver/StoreSaver3.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/store/service/saver/StoreSaver3.java 2011-10-21 01:32:42 UTC (rev 2931)
+++ trunk/joafip/src/main/java/net/sf/joafip/store/service/saver/StoreSaver3.java 2011-10-21 01:36:31 UTC (rev 2932)
@@ -611,7 +611,6 @@
: object.getClass()));
}
}
-
addToVisitForSave(sons);
}
} catch (final ObjectIOException exception) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <luc...@us...> - 2011-10-21 01:36:37
|
Revision: 2932
http://joafip.svn.sourceforge.net/joafip/?rev=2932&view=rev
Author: luc_peuvrier
Date: 2011-10-21 01:36:31 +0000 (Fri, 21 Oct 2011)
Log Message:
-----------
do not weak reference object if acceded
Modified Paths:
--------------
trunk/joafip/src/main/java/net/sf/joafip/store/entity/objectio/ObjectAndPersistInfo.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/objectio/manager/IObjectIOManagerForProxyObjectIO.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/objectio/manager/ObjectIOManager.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/objectio/manager/SerializerObjectIOManager.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/objectio/serialize/input/AbstractObjectInputGeneric.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/objectio/serialize/output/AbstractObjectOutput.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/proxy/ProxyCallBack.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/saver/StoreSaver3.java
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <luc...@us...> - 2011-10-21 01:32:49
|
Revision: 2931
http://joafip.svn.sourceforge.net/joafip/?rev=2931&view=rev
Author: luc_peuvrier
Date: 2011-10-21 01:32:42 +0000 (Fri, 21 Oct 2011)
Log Message:
-----------
code cleaned, fixme for test removed
Modified Paths:
--------------
trunk/joafip/src/main/java/net/sf/joafip/store/service/bytecode/proxy/CheckMethodVisitor.java
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <luc...@us...> - 2011-10-21 01:32:48
|
Revision: 2931
http://joafip.svn.sourceforge.net/joafip/?rev=2931&view=rev
Author: luc_peuvrier
Date: 2011-10-21 01:32:42 +0000 (Fri, 21 Oct 2011)
Log Message:
-----------
code cleaned, fixme for test removed
Modified Paths:
--------------
trunk/joafip/src/main/java/net/sf/joafip/store/service/bytecode/proxy/CheckMethodVisitor.java
Modified: trunk/joafip/src/main/java/net/sf/joafip/store/service/bytecode/proxy/CheckMethodVisitor.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/store/service/bytecode/proxy/CheckMethodVisitor.java 2011-10-21 01:30:57 UTC (rev 2930)
+++ trunk/joafip/src/main/java/net/sf/joafip/store/service/bytecode/proxy/CheckMethodVisitor.java 2011-10-21 01:32:42 UTC (rev 2931)
@@ -294,10 +294,6 @@
@Override
public void visitJumpInsn(final int opcode, final Label label) {
- // FIXMELUC ______________________for test
- if (opcode == JSR) {
- System.out.println(); // NOPMD
- }
currentOpcodeNode = new OpcodeNode(opcode, currentAddress++,
currentLineNumber, currentOpcodeNode);
addGoto(currentOpcodeNode, label);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <luc...@us...> - 2011-10-21 01:31:04
|
Revision: 2930
http://joafip.svn.sourceforge.net/joafip/?rev=2930&view=rev
Author: luc_peuvrier
Date: 2011-10-21 01:30:57 +0000 (Fri, 21 Oct 2011)
Log Message:
-----------
no more call method end if not exclusive data access session
Modified Paths:
--------------
trunk/joafip/src/main/java/net/sf/joafip/store/service/bytecode/proxy/EnhanceCodeGenerator.java
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <luc...@us...> - 2011-10-21 01:31:03
|
Revision: 2930
http://joafip.svn.sourceforge.net/joafip/?rev=2930&view=rev
Author: luc_peuvrier
Date: 2011-10-21 01:30:57 +0000 (Fri, 21 Oct 2011)
Log Message:
-----------
no more call method end if not exclusive data access session
Modified Paths:
--------------
trunk/joafip/src/main/java/net/sf/joafip/store/service/bytecode/proxy/EnhanceCodeGenerator.java
Modified: trunk/joafip/src/main/java/net/sf/joafip/store/service/bytecode/proxy/EnhanceCodeGenerator.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/store/service/bytecode/proxy/EnhanceCodeGenerator.java 2011-10-18 02:55:27 UTC (rev 2929)
+++ trunk/joafip/src/main/java/net/sf/joafip/store/service/bytecode/proxy/EnhanceCodeGenerator.java 2011-10-21 01:30:57 UTC (rev 2930)
@@ -797,25 +797,7 @@
/**/methodName,
/**/desc);
- int opcode;
- if (!Type.VOID_TYPE.equals(returnType)) {
- opcode = returnType.getOpcode(ISTORE);
- methodVisitor.visitVarInsn(opcode, paramSize + 1);
- }
-
- methodVisitor.visitVarInsn(ALOAD, 0);
- methodVisitor.visitMethodInsn(
- /**/INVOKEVIRTUAL,
- /**/classInternalName,
- /**/METHOD_END_METHOD_NAME,
- /**/methodEndMethodDesc);
-
- if (!Type.VOID_TYPE.equals(returnType)) {
- opcode = returnType.getOpcode(ILOAD);
- methodVisitor.visitVarInsn(opcode, paramSize + 1);
- }
-
- opcode = returnType.getOpcode(IRETURN);
+ final int opcode = returnType.getOpcode(IRETURN);
methodVisitor.visitInsn(opcode);
// FIXMELUC _visitmaxs call needed ?
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|