Thread: [Joafip-svn] SF.net SVN: joafip:[2909] trunk/joafip
Brought to you by:
luc_peuvrier
|
From: <luc...@us...> - 2011-09-30 01:09:56
|
Revision: 2909
http://joafip.svn.sourceforge.net/joafip/?rev=2909&view=rev
Author: luc_peuvrier
Date: 2011-09-30 01:09:49 +0000 (Fri, 30 Sep 2011)
Log Message:
-----------
added import listener
Modified Paths:
--------------
trunk/joafip/src/main/java/net/sf/joafip/service/FilePersistence.java
trunk/joafip/src/main/java/net/sf/joafip/service/IFilePersistence.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/AbstractDelegatingToStoreManagers.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/IStore.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/export_import/in/AbstractImporter.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/export_import/in/IImporter.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/export_import/in/XmlImporter.java
trunk/joafip/src/test/resources/log4j.properties
Added Paths:
-----------
trunk/joafip/doc/current.txt
trunk/joafip/src/main/java/net/sf/joafip/store/service/export_import/in/IImportListener.java
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <luc...@us...> - 2011-09-30 01:09:57
|
Revision: 2909
http://joafip.svn.sourceforge.net/joafip/?rev=2909&view=rev
Author: luc_peuvrier
Date: 2011-09-30 01:09:49 +0000 (Fri, 30 Sep 2011)
Log Message:
-----------
added import listener
Modified Paths:
--------------
trunk/joafip/src/main/java/net/sf/joafip/service/FilePersistence.java
trunk/joafip/src/main/java/net/sf/joafip/service/IFilePersistence.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/AbstractDelegatingToStoreManagers.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/IStore.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/export_import/in/AbstractImporter.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/export_import/in/IImporter.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/export_import/in/XmlImporter.java
trunk/joafip/src/test/resources/log4j.properties
Added Paths:
-----------
trunk/joafip/doc/current.txt
trunk/joafip/src/main/java/net/sf/joafip/store/service/export_import/in/IImportListener.java
Added: trunk/joafip/doc/current.txt
===================================================================
--- trunk/joafip/doc/current.txt (rev 0)
+++ trunk/joafip/doc/current.txt 2011-09-30 01:09:49 UTC (rev 2909)
@@ -0,0 +1,7 @@
+108738, 118200, 132948, 142808, 165872
+
+ 1 1010 1000 1100 0010
+ 1 1100 1101 1011 1000
+ 10 0000 0111 0101 0100
+1 0100 0010 1000 0000 1000
+ 10 1000 0111 1111 0000
\ No newline at end of file
Modified: trunk/joafip/src/main/java/net/sf/joafip/service/FilePersistence.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/service/FilePersistence.java 2011-09-30 01:07:17 UTC (rev 2908)
+++ trunk/joafip/src/main/java/net/sf/joafip/service/FilePersistence.java 2011-09-30 01:09:49 UTC (rev 2909)
@@ -54,6 +54,7 @@
import net.sf.joafip.store.service.StoreInvalidClassException;
import net.sf.joafip.store.service.StoreNotSerializableException;
import net.sf.joafip.store.service.StoreTooBigForSerializationException;
+import net.sf.joafip.store.service.export_import.in.IImportListener;
import net.sf.joafip.store.service.objectio.manager.ISubsituteSynchronizer;
import net.sf.joafip.store.service.objectio.serialize.input.IObjectInput;
import net.sf.joafip.store.service.objectio.serialize.output.IObjectOutput;
@@ -1755,6 +1756,11 @@
}
}
+ @Override
+ public void setImportListener(final IImportListener listener) {
+ store.setImportListener(listener);
+ }
+
/**
* assert there is no object stored
*
Modified: trunk/joafip/src/main/java/net/sf/joafip/service/IFilePersistence.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/service/IFilePersistence.java 2011-09-30 01:07:17 UTC (rev 2908)
+++ trunk/joafip/src/main/java/net/sf/joafip/service/IFilePersistence.java 2011-09-30 01:09:49 UTC (rev 2909)
@@ -30,6 +30,7 @@
import net.sf.joafip.heapfile.record.entity.DataRecordIdentifier;
import net.sf.joafip.store.entity.classinfo.ClassInfo;
import net.sf.joafip.store.service.IGarbageListener;
+import net.sf.joafip.store.service.export_import.in.IImportListener;
import net.sf.joafip.store.service.export_import.out.IExporterListener;
import net.sf.joafip.store.service.objectio.manager.ISubsituteSynchronizer;
import net.sf.joafip.store.service.objectio.manager.ISubstituteObjectManager;
@@ -665,6 +666,8 @@
void storedMutableEnum(Class<? extends Enum<?>>[] enumClasses)
throws FilePersistenceException;
+ void setImportListener(IImportListener listener);
+
/**
* declare persisted mutable enum by its class<br>
* (PROPS) can be set using properties file see
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-09-30 01:07:17 UTC (rev 2908)
+++ trunk/joafip/src/main/java/net/sf/joafip/store/service/AbstractDelegatingToStoreManagers.java 2011-09-30 01:09:49 UTC (rev 2909)
@@ -52,6 +52,7 @@
import net.sf.joafip.store.service.copier.CopierException;
import net.sf.joafip.store.service.copier.DeepCopier;
import net.sf.joafip.store.service.copier.ToProxyDeepCopier;
+import net.sf.joafip.store.service.export_import.in.IImportListener;
import net.sf.joafip.store.service.export_import.in.IImporter;
import net.sf.joafip.store.service.export_import.in.ImportClassNotFoundException;
import net.sf.joafip.store.service.export_import.in.ImportDataCorruptedException;
@@ -514,6 +515,11 @@
}
@Override
+ public void setImportListener(final IImportListener listener) {
+ xmlImporter.setListener(listener);
+ }
+
+ @Override
public int getCurrentDataModelIdentifier() {
return currentDataModelIdentifier;
}
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-09-30 01:07:17 UTC (rev 2908)
+++ trunk/joafip/src/main/java/net/sf/joafip/store/service/IStore.java 2011-09-30 01:09:49 UTC (rev 2909)
@@ -44,6 +44,7 @@
import net.sf.joafip.store.service.conversion.def.ConversionManager;
import net.sf.joafip.store.service.copier.CopierException;
import net.sf.joafip.store.service.copier.IDeepCopyServiceDelegate;
+import net.sf.joafip.store.service.export_import.in.IImportListener;
import net.sf.joafip.store.service.export_import.out.IExporterListener;
import net.sf.joafip.store.service.garbage.GarbageManager;
import net.sf.joafip.store.service.garbage.recordmgr.LinkRecordManager;
@@ -668,6 +669,8 @@
StoreClassNotFoundException, StoreInvalidClassException,
StoreDataCorruptedException, StoreNotSerializableException;
+ void setImportListener(IImportListener listener);
+
Object newProxyInstance(Object object) throws StoreException;
Object newProxyInstance(Class<?> objectClass, Class<?>[] parameterTypes,
Modified: trunk/joafip/src/main/java/net/sf/joafip/store/service/export_import/in/AbstractImporter.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/store/service/export_import/in/AbstractImporter.java 2011-09-30 01:07:17 UTC (rev 2908)
+++ trunk/joafip/src/main/java/net/sf/joafip/store/service/export_import/in/AbstractImporter.java 2011-09-30 01:09:49 UTC (rev 2909)
@@ -123,6 +123,10 @@
private final int currentDataModelIdentifier;
+ private long numberOfImported;
+
+ private IImportListener listener;
+
public AbstractImporter(final IStore store) throws ImportException {
super();
try {
@@ -144,6 +148,11 @@
}
}
+ @Override
+ public void setListener(final IImportListener listener) {
+ this.listener = listener;
+ }
+
public ClassInfoFactory getClassInfoFactory() {
return classInfoFactory;
}
@@ -152,6 +161,7 @@
public void doImport(final String directoryName) throws ImportException,
ImportClassNotFoundException, ImportDataCorruptedException,
ImportInvalidClassException, ImportNotSerializableException {
+ numberOfImported=0;
final File directory = new File(directoryName);
if (directory.exists()) {
if (!directory.isDirectory()) {
@@ -228,69 +238,6 @@
}
}
- // /**
- // * Sets the field represented by this field object knew by its name on the
- // * specified object argument to the specified new value.
- // *
- // * @param object
- // * the object that own the field
- // * @param objectOwningFieldDef
- // * information on object owning field
- // * @param originalFieldName
- // * the new value for the field knew by its name of
- // * <code>object</code> being modified
- // * @param conversionFieldClassDef
- // * @param value
- // * the new value for the field of <code>object</code> being
- // * modified
- // * @throws ImportException
- // */
- // protected void setObjectField(final Object object,
- // final ConversionClassDef objectOwningFieldDef,
- // final String originalFieldName,
- // final ConversionClassDef conversionFieldClassDef,
- // final ConversionClassDef conversionFieldDeclaringClassDef,
- // final Object value) throws ImportException {
- // final ClassInfo fieldClassInfo =
- // conversionFieldClassDef.getOriginalClassInfo();
- // final FieldReplacementDef replacementFieldDef = replacementFieldName(
- // objectOwningFieldDef.getClassName(), originalFieldName,
- // fieldClassInfo.getName());
- // final String fieldName = replacementFieldDef.getFieldName();
- // if (!"".equals(fieldName)) {
- // /*
- // * not a deleted field
- // */
- // final Class<? extends Object> currentClass;
- // try {
- // final ObjectIoReplacementDef replacementDef;
- // if (conversionFieldDeclaringClassDef == null) {
- // currentClass=objectOwningFieldDef.getFinalClassInfo().getClass();
- // } else {
- // currentClass=conversionFieldDeclaringClassDef.getFinalClassInfo().getClass();
- // }
- //
- // } catch (ConversionException exception) {
- // throw new ImportException(exception);
- // }
- // // final Class<? extends Object> currentClass=object.getClass();
- // final Field field = searchField(currentClass, fieldName);
- // try {
- // //setFieldAccessible.set(field);
- // field.set(object, value);
- // } catch (IllegalArgumentException exception) {
- // throw new ImportException(setFieldMessage(object, field,
- // originalFieldName, value), exception);
- // } catch (IllegalAccessException exception) {
- // throw new ImportException(setFieldMessage(object, field,
- // originalFieldName, value), exception);
- // } catch (SecurityException exception) {
- // throw new ImportException(setFieldMessage(object, field,
- // originalFieldName, value), exception);
- // }
- // }
- // }
-
@SuppressWarnings("unused")
private String setFieldMessage(final Object object, final Field field,
final String originalFieldName, final Object value) {
@@ -1038,6 +985,7 @@
try {
storeSaver.setRootOfObjectsToSave(object);
storeSaver.saveForImport(/* object, */dummyObjectSet);
+ notifyImported();
objectIOManager.clearObjectState();
} catch (final StoreException exception) {
throw new ImportException(exception);
@@ -1058,6 +1006,13 @@
dummyObjectSet.clear();
}
+ private void notifyImported() {
+ numberOfImported+=storeSaver.getNumberOfModified();
+ if( listener!=null) {
+ listener.numberOfImported(numberOfImported);
+ }
+ }
+
/**
* record class static field
*
@@ -1083,6 +1038,7 @@
dataRecordIdentifier);
storeSaver.setRootOfObjectsToSave(null);
storeSaver.saveForImport(/* null, */dummyObjectSet);
+ notifyImported();
objectIOManager.clearObjectState();
} catch (final ObjectIOException exception) {
Added: trunk/joafip/src/main/java/net/sf/joafip/store/service/export_import/in/IImportListener.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/store/service/export_import/in/IImportListener.java (rev 0)
+++ trunk/joafip/src/main/java/net/sf/joafip/store/service/export_import/in/IImportListener.java 2011-09-30 01:09:49 UTC (rev 2909)
@@ -0,0 +1,34 @@
+/*
+ * 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.store.service.export_import.in;
+
+/**
+ *
+ * @author luc peuvrier
+ *
+ */
+public interface IImportListener {
+
+ void numberOfImported(long numberOfImported);
+
+}
Modified: trunk/joafip/src/main/java/net/sf/joafip/store/service/export_import/in/IImporter.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/store/service/export_import/in/IImporter.java 2011-09-30 01:07:17 UTC (rev 2908)
+++ trunk/joafip/src/main/java/net/sf/joafip/store/service/export_import/in/IImporter.java 2011-09-30 01:09:49 UTC (rev 2909)
@@ -29,6 +29,8 @@
*/
public interface IImporter {
+ void setListener(IImportListener listener);
+
/**
* import from exported data in <code>directoryName<code> directory<br>
*
@@ -51,5 +53,4 @@
ImportException, ImportClassNotFoundException,
ImportDataCorruptedException, ImportInvalidClassException,
ImportNotSerializableException;
-
}
Modified: trunk/joafip/src/main/java/net/sf/joafip/store/service/export_import/in/XmlImporter.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/store/service/export_import/in/XmlImporter.java 2011-09-30 01:07:17 UTC (rev 2908)
+++ trunk/joafip/src/main/java/net/sf/joafip/store/service/export_import/in/XmlImporter.java 2011-09-30 01:09:49 UTC (rev 2909)
@@ -68,6 +68,7 @@
throw new ImportException(exportFile + " does not exists");
}
final SAXParserFactory factory = SAXParserFactory.newInstance();
+ //FIXMELUC _______________why not validating
factory.setValidating(false);
factory.setNamespaceAware(true);
final SchemaFactory schemaFactory = SchemaFactory
Modified: trunk/joafip/src/test/resources/log4j.properties
===================================================================
--- trunk/joafip/src/test/resources/log4j.properties 2011-09-30 01:07:17 UTC (rev 2908)
+++ trunk/joafip/src/test/resources/log4j.properties 2011-09-30 01:09:49 UTC (rev 2909)
@@ -128,6 +128,7 @@
#log4j.logger.net.sf.joafip.service.bug.emis.TestEmis=debug
log4j.logger.net.sf.joafip.performance.items.service.Inserter=info
log4j.logger.net.sf.joafip.performance.items.service.Searcher=info
+log4j.logger.net.sf.joafip.performance.items.service.ImportSearcher=info
log4j.logger.net.sf.joafip.service.MainCrash=info
log4j.logger.net.sf.joafip.service.MainAfterCrash=info
log4j.logger.net.sf.joafip.service.MainWarnDataRecord1=debug
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <luc...@us...> - 2012-11-18 10:04:05
|
Revision: 3148
http://joafip.svn.sourceforge.net/joafip/?rev=3148&view=rev
Author: luc_peuvrier
Date: 2012-11-18 10:03:58 +0000 (Sun, 18 Nov 2012)
Log Message:
-----------
added persistent data record identifier set
Modified Paths:
--------------
trunk/joafip/pom.xml
trunk/joafip/src/main/java/net/sf/joafip/store/service/export_import/out/PersistantDataRecordIdentifierSetQue.java
Added Paths:
-----------
trunk/joafip/src/main/java/net/sf/joafip/util/PersistantDataRecordIdentifierSet.java
trunk/joafip/src/test/java/net/sf/joafip/util/TestPersistantDataRecordIdentifierSet.java
Modified: trunk/joafip/pom.xml
===================================================================
--- trunk/joafip/pom.xml 2012-11-17 16:23:40 UTC (rev 3147)
+++ trunk/joafip/pom.xml 2012-11-18 10:03:58 UTC (rev 3148)
@@ -42,6 +42,13 @@
<dependency>
<groupId>net.sf.joafip</groupId>
+ <artifactId>joafip-collection</artifactId>
+ <type>test-jar</type>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>net.sf.joafip</groupId>
<artifactId>joafip-kvstore</artifactId>
</dependency>
Modified: trunk/joafip/src/main/java/net/sf/joafip/store/service/export_import/out/PersistantDataRecordIdentifierSetQue.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/store/service/export_import/out/PersistantDataRecordIdentifierSetQue.java 2012-11-17 16:23:40 UTC (rev 3147)
+++ trunk/joafip/src/main/java/net/sf/joafip/store/service/export_import/out/PersistantDataRecordIdentifierSetQue.java 2012-11-18 10:03:58 UTC (rev 3148)
@@ -51,10 +51,10 @@
private final byte[] minusOne;
public PersistantDataRecordIdentifierSetQue(
- final String temporaryDirectoryName) throws HeapException {
+ final String directoryName) throws HeapException {
super();
- final File dataFile = new File(temporaryDirectoryName + "/set");
+ final File dataFile = new File(directoryName + "/set");
final HeapFileSetup setup = new HeapFileSetup(
EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS, dataFile,
false/* crashSafeMode */, true/* useCacheMode */,
Added: trunk/joafip/src/main/java/net/sf/joafip/util/PersistantDataRecordIdentifierSet.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/util/PersistantDataRecordIdentifierSet.java (rev 0)
+++ trunk/joafip/src/main/java/net/sf/joafip/util/PersistantDataRecordIdentifierSet.java 2012-11-18 10:03:58 UTC (rev 3148)
@@ -0,0 +1,133 @@
+/*
+ * Copyright 2012 Luc Peuvrier
+ * All rights reserved.
+ *
+ * This file is a part of JOAFIP.
+ *
+ * JOAFIP is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License.
+ *
+ * Licensed under the GNU LESSER GENERAL PUBLIC LICENSE
+ * Licensed under the LGPL License, Version 3, 29 June 2007 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.gnu.org/licenses/lgpl.html
+ *
+ * JOAFIP is distributed in the hope that it will be useful, but
+ * unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package net.sf.joafip.util;
+
+import java.io.File;
+import java.util.AbstractSet;
+import java.util.Iterator;
+
+import net.sf.joafip.heapfile.service.AutoSaveHeapFileDataManager;
+import net.sf.joafip.kvstore.entity.EnumFileAccessMode;
+import net.sf.joafip.kvstore.entity.HeapFileSetup;
+import net.sf.joafip.kvstore.record.entity.DataRecordIdentifier;
+import net.sf.joafip.kvstore.service.HeapException;
+import net.sf.joafip.kvstore.service.HeapRuntimeException;
+import net.sf.joafip.kvstore.service.IHeapDataManager;
+
+/**
+ *
+ * @author luc peuvrier
+ *
+ */
+public class PersistantDataRecordIdentifierSet extends
+ AbstractSet<DataRecordIdentifier> {
+
+ private static final int MAX_RECORDS = 1000;
+
+ private static final byte[] DATA = new byte[0];
+
+ private final IHeapDataManager heapDataManagerForSet;
+
+ public PersistantDataRecordIdentifierSet(final String filePath)
+ throws HeapException {
+ super();
+ final File dataFile = new File(filePath);
+ final HeapFileSetup setup = new HeapFileSetup(
+ EnumFileAccessMode.MAPPED_RANDOM_FILE_ACCESS, dataFile,
+ false/* crashSafeMode */, true/* useCacheMode */,
+ false/* deleteRenaming */, false/* clearResizeFile */,
+ 1/* maxFileOperationRetry */, 0/* fileOperationRetryMsDelay */,
+ null/* openFileTraceFile */);
+ setup.cacheSetup(1024/* pageSize */, 1024/* maxPage */);
+ setup.fileBufferSetup(8 * 1024/* maxBufferSize */, 32/* maxNumberOfBuffer */);
+ heapDataManagerForSet = new AutoSaveHeapFileDataManager(setup, false,
+ MAX_RECORDS);
+ }
+
+ public void startService(final boolean removeFiles) throws HeapException {
+ heapDataManagerForSet.startService(removeFiles);
+ }
+
+ public void stopService() throws HeapException {
+ heapDataManagerForSet.stopService();
+ }
+
+ @Override
+ public Iterator<DataRecordIdentifier> iterator() {
+ try {
+ return heapDataManagerForSet.dataRecordIterator();
+ } catch (HeapException exception) {
+ throw new HeapRuntimeException(exception);
+ }
+ }
+
+ @Override
+ public int size() {
+ try {
+ return heapDataManagerForSet.getNumberOfDataRecord();
+ } catch (HeapException exception) {
+ throw new HeapRuntimeException(exception);
+ }
+ }
+
+ @Override
+ public boolean contains(final Object object) {
+ final DataRecordIdentifier dataRecordIdentifier = (DataRecordIdentifier) object;
+ try {
+ return heapDataManagerForSet.hasDataRecord(dataRecordIdentifier);
+ } catch (HeapException exception) {
+ throw new HeapRuntimeException(exception);
+ }
+ }
+
+ @Override
+ public boolean add(final DataRecordIdentifier dataRecordIdentifier) {
+ try {
+ return heapDataManagerForSet.writeDataRecord(dataRecordIdentifier,
+ DATA);
+ } catch (HeapException exception) {
+ throw new HeapRuntimeException(exception);
+ }
+ }
+
+ @Override
+ public boolean remove(final Object object) {
+ final DataRecordIdentifier dataRecordIdentifier = (DataRecordIdentifier) object;
+ try {
+ return heapDataManagerForSet.deleteDataRecord(dataRecordIdentifier);
+ } catch (HeapException exception) {
+ throw new HeapRuntimeException(exception);
+ }
+ }
+
+ @Override
+ public void clear() {
+ try {
+ heapDataManagerForSet.clear();
+ } catch (HeapException exception) {
+ throw new HeapRuntimeException(exception);
+ }
+ }
+
+}
Property changes on: trunk/joafip/src/main/java/net/sf/joafip/util/PersistantDataRecordIdentifierSet.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/joafip/src/test/java/net/sf/joafip/util/TestPersistantDataRecordIdentifierSet.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/util/TestPersistantDataRecordIdentifierSet.java (rev 0)
+++ trunk/joafip/src/test/java/net/sf/joafip/util/TestPersistantDataRecordIdentifierSet.java 2012-11-18 10:03:58 UTC (rev 3148)
@@ -0,0 +1,261 @@
+/*
+ * Copyright 2012 Luc Peuvrier
+ * All rights reserved.
+ *
+ * This file is a part of JOAFIP.
+ *
+ * JOAFIP is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License.
+ *
+ * Licensed under the GNU LESSER GENERAL PUBLIC LICENSE
+ * Licensed under the LGPL License, Version 3, 29 June 2007 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.gnu.org/licenses/lgpl.html
+ *
+ * JOAFIP is distributed in the hope that it will be useful, but
+ * unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package net.sf.joafip.util;
+
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Set;
+
+import net.sf.joafip.NoStorableAccess;
+import net.sf.joafip.NotStorableClass;
+import net.sf.joafip.TestException;
+import net.sf.joafip.java.util.AbstractSetTest;
+import net.sf.joafip.kvstore.record.entity.DataRecordIdentifier;
+import net.sf.joafip.kvstore.service.HeapException;
+import net.sf.joafip.kvstore.service.HeapRuntimeException;
+
+/**
+ *
+ * @author luc peuvrier
+ *
+ */
+@NotStorableClass
+@NoStorableAccess
+public class TestPersistantDataRecordIdentifierSet extends AbstractSetTest {
+
+ private AdapterSet adapterSet;
+
+ public TestPersistantDataRecordIdentifierSet() throws TestException {
+ super();
+ }
+
+ public TestPersistantDataRecordIdentifierSet(final String name)
+ throws TestException {
+ super(name);
+ }
+
+ @Override
+ protected void setUp() throws Exception {
+ adapterSet = new AdapterSet();
+ set = adapterSet;
+ adapterSet.startService(true);
+ super.setUp();
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ try {
+ adapterSet.clear();
+ } catch (Exception exception) {
+ // ignore error
+ }
+ try {
+ adapterSet.stopService();
+ } catch (Exception exception) {
+ // ignore error
+ }
+ super.tearDown();
+ }
+
+ @Override
+ protected boolean concurrentAccess() {
+ return false;
+ }
+
+ @Override
+ protected boolean acceptNullElement() {
+ return false;
+ }
+
+ @Override
+ public void testEquals() throws InstantiationException,
+ IllegalAccessException {
+ // TODO Auto-generated method stub
+ // super.testEquals();
+ }
+
+ @NotStorableClass
+ @NoStorableAccess
+ private class AdapterSet implements Set<String> {
+
+ private final PersistantDataRecordIdentifierSet set;
+
+ public AdapterSet() throws HeapException {
+ super();
+ set = new PersistantDataRecordIdentifierSet("runtime/set");
+ }
+
+ public void startService(final boolean removeFiles)
+ throws HeapException {
+ set.startService(removeFiles);
+ }
+
+ public void stopService() throws HeapException {
+ set.stopService();
+ }
+
+ @Override
+ public int size() {
+ return set.size();
+ }
+
+ @Override
+ public boolean isEmpty() {
+ return set.isEmpty();
+ }
+
+ @Override
+ public boolean contains(final Object object) {
+ return set.contains(dataRecordIdentifier((String) object));
+ }
+
+ @Override
+ public Iterator<String> iterator() {
+ return new Iterator<String>() {
+
+ private final Iterator<DataRecordIdentifier> iterator = set
+ .iterator();
+
+ @Override
+ public boolean hasNext() {
+ return iterator.hasNext();
+ }
+
+ @Override
+ public String next() {
+ DataRecordIdentifier dataRecordIdentifier = iterator.next();
+ return string(dataRecordIdentifier);
+ }
+
+ @Override
+ public void remove() {
+ iterator.remove();
+ }
+ };
+ }
+
+ @Override
+ public Object[] toArray() {
+ final Object[] objects = set.toArray();
+ final String result[] = new String[objects.length];
+ int index = 0;
+ for (Object object : objects) {
+ result[index++] = string((DataRecordIdentifier) object);
+ }
+ return result;
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public <T> T[] toArray(T[] array) {
+ final DataRecordIdentifier[] objects = new DataRecordIdentifier[set
+ .size()];
+ set.toArray(objects);
+ int index = 0;
+ final T[] rarray;
+ if (array.length != set.size()) {
+ rarray = (T[]) new String[set.size()];
+ } else {
+ rarray = array;
+ }
+ for (DataRecordIdentifier object : objects) {
+ rarray[index++] = (T) string(object);
+ }
+ return rarray;
+ }
+
+ @Override
+ public boolean add(final String element) {
+ return set.add(dataRecordIdentifier(element));
+ }
+
+ @Override
+ public boolean remove(Object object) {
+ final String element = (String) object;
+ return set.remove(dataRecordIdentifier(element));
+ }
+
+ @Override
+ public boolean containsAll(final Collection<?> collection) {
+ final List<DataRecordIdentifier> list = new LinkedList<DataRecordIdentifier>();
+ for (Object string : collection) {
+ list.add(dataRecordIdentifier((String) string));
+ }
+ return set.containsAll(list);
+ }
+
+ @Override
+ public boolean addAll(final Collection<? extends String> collection) {
+ final List<DataRecordIdentifier> list = new LinkedList<DataRecordIdentifier>();
+ for (String string : collection) {
+ list.add(dataRecordIdentifier(string));
+ }
+ return set.addAll(list);
+ }
+
+ @Override
+ public boolean retainAll(final Collection<?> collection) {
+ final List<DataRecordIdentifier> list = new LinkedList<DataRecordIdentifier>();
+ for (Object string : collection) {
+ list.add(dataRecordIdentifier((String) string));
+ }
+ return set.retainAll(list);
+ }
+
+ @Override
+ public boolean removeAll(final Collection<?> collection) {
+ final List<DataRecordIdentifier> list = new LinkedList<DataRecordIdentifier>();
+ for (Object string : collection) {
+ list.add(dataRecordIdentifier((String) string));
+ }
+ return set.removeAll(list);
+ }
+
+ @Override
+ public void clear() {
+ set.clear();
+ }
+
+ private DataRecordIdentifier dataRecordIdentifier(final String value) {
+ if (value.length() != 1) {
+ throw new HeapRuntimeException("bad value \"" + value + "\"");
+ }
+ return new DataRecordIdentifier(value.charAt(0));
+ }
+
+ private String string(final DataRecordIdentifier dataRecordIdentifier) {
+ final String string;
+ if (dataRecordIdentifier == null) {
+ string = null;
+ } else {
+ final char[] value = new char[1];
+ value[0] = (char) dataRecordIdentifier.value;
+ string = new String(value);
+ }
+ return string;
+ }
+ }
+}
Property changes on: trunk/joafip/src/test/java/net/sf/joafip/util/TestPersistantDataRecordIdentifierSet.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <luc...@us...> - 2012-11-18 10:04:05
|
Revision: 3148
http://joafip.svn.sourceforge.net/joafip/?rev=3148&view=rev
Author: luc_peuvrier
Date: 2012-11-18 10:03:58 +0000 (Sun, 18 Nov 2012)
Log Message:
-----------
added persistent data record identifier set
Modified Paths:
--------------
trunk/joafip/pom.xml
trunk/joafip/src/main/java/net/sf/joafip/store/service/export_import/out/PersistantDataRecordIdentifierSetQue.java
Added Paths:
-----------
trunk/joafip/src/main/java/net/sf/joafip/util/PersistantDataRecordIdentifierSet.java
trunk/joafip/src/test/java/net/sf/joafip/util/TestPersistantDataRecordIdentifierSet.java
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <luc...@us...> - 2012-11-18 15:00:42
|
Revision: 3152
http://joafip.svn.sourceforge.net/joafip/?rev=3152&view=rev
Author: luc_peuvrier
Date: 2012-11-18 15:00:35 +0000 (Sun, 18 Nov 2012)
Log Message:
-----------
new ay to obtains data record identifier set of data record for class name
Modified Paths:
--------------
trunk/joafip/export222/export.xml
trunk/joafip/export300/export.xml
trunk/joafip/export301b/export.xml
trunk/joafip/jrat.xml
trunk/joafip/lib/jrat.xml
trunk/joafip/src/main/java/net/sf/joafip/service/AbstractFilePersistenceDelegatingToStore.java
trunk/joafip/src/main/java/net/sf/joafip/service/IFilePersistence.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/AbstractDelegatingToStoreManagers.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/IStore.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/objectio/manager/ClassNameManager.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/objectio/manager/IClassNameManager.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/StoreForTest.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/objectio/manager/ClassNameManagerMock.java
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <luc...@us...> - 2012-11-18 15:00:45
|
Revision: 3152
http://joafip.svn.sourceforge.net/joafip/?rev=3152&view=rev
Author: luc_peuvrier
Date: 2012-11-18 15:00:35 +0000 (Sun, 18 Nov 2012)
Log Message:
-----------
new ay to obtains data record identifier set of data record for class name
Modified Paths:
--------------
trunk/joafip/export222/export.xml
trunk/joafip/export300/export.xml
trunk/joafip/export301b/export.xml
trunk/joafip/jrat.xml
trunk/joafip/lib/jrat.xml
trunk/joafip/src/main/java/net/sf/joafip/service/AbstractFilePersistenceDelegatingToStore.java
trunk/joafip/src/main/java/net/sf/joafip/service/IFilePersistence.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/AbstractDelegatingToStoreManagers.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/IStore.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/objectio/manager/ClassNameManager.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/objectio/manager/IClassNameManager.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/StoreForTest.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/objectio/manager/ClassNameManagerMock.java
Modified: trunk/joafip/export222/export.xml
===================================================================
--- trunk/joafip/export222/export.xml 2012-11-18 10:04:22 UTC (rev 3151)
+++ trunk/joafip/export222/export.xml 2012-11-18 15:00:35 UTC (rev 3152)
@@ -1,8898 +1,5386 @@
<?xml version="1.0" encoding="UTF-8"?>
-<objects
- xmlns="http://joafip.sourceforge.net/schema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://joafip.sourceforge.net/schema joafip.xsd"
- joafipRelease="2.2.2b0"
- dataModelIdentifier="0"
- lastRecordId="449">
- <root>
- <field
- class="java.lang.Object"
- name="rootObject">
- <reference
- id="3"/>
- </field>
- <field
- class="java.util.Map"
- name="storedEnumMap">
- <null/>
- </field>
- </root>
- <object
- id="3"
- class="net.sf.joafip.java.util.PTreeMap">
- <field
- class="net.sf.joafip.java.util.IPTreeSet"
- name="pTreeSet">
- <reference
- id="5"/>
- </field>
- <field
- class="java.util.Comparator"
- name="comparator">
- <null/>
- </field>
- <field
- class="java.util.Collection"
- name="collectionValues">
- <reference
- id="6"/>
- </field>
- <field
- class="java.util.Set"
- name="keySet">
- <null/>
- </field>
- <field
- class="java.util.Collection"
- name="values">
- <null/>
- </field>
- </object>
- <object
- id="5"
- class="net.sf.joafip.java.util.PTreeSet">
- <field
- class="net.sf.joafip.java.util.support.TreeSupport"
- name="treeSupport">
- <reference
- id="8"/>
- </field>
- </object>
- <object
- id="6"
- class="net.sf.joafip.java.util.MapCollectionValues">
- <field
- class="java.util.Map"
- name="map">
- <reference
- id="3"/>
- </field>
- </object>
- <object
- id="8"
- class="net.sf.joafip.java.util.support.TreeSupport">
- <field
- class="java.util.Comparator"
- name="comparator">
- <null/>
- </field>
- <field
- class="net.sf.joafip.redblacktree.impl.memory.service.RBTNodeManager"
- name="nodeManager">
- <reference
- id="11"/>
- </field>
- <field
- class="net.sf.joafip.redblacktree.service.RedBlackTree"
- name="tree">
- <reference
- id="12"/>
- </field>
- </object>
- <object
- id="11"
- class="net.sf.joafip.redblacktree.impl.memory.service.RBTNodeManager">
- <field
- class="net.sf.joafip.redblacktree.entity.IRBTNode"
- name="rootNode">
- <reference
- id="15"/>
- </field>
- </object>
- <object
- id="12"
- class="net.sf.joafip.redblacktree.service.RedBlackTree">
- <field
- class="net.sf.joafip.redblacktree.service.IRBTNodeManager"
- name="nodeManager">
- <reference
- id="11"/>
- </field>
- </object>
- <object
- id="15"
- class="net.sf.joafip.java.util.support.TreeSupportNode">
- <field
- class="net.sf.joafip.java.util.support.TreeSupportNode"
- name="previous">
- <null/>
- </field>
- <field
- class="net.sf.joafip.java.util.support.TreeSupportNode"
- name="next">
- <reference
- id="17"/>
- </field>
- <field
- class="boolean"
- name="color">
- <value>true</value>
- </field>
- <field
- class="boolean"
- name="noColorSetted">
- <value>false</value>
- </field>
- <field
- class="net.sf.joafip.redblacktree.entity.IRBTNode"
- name="parent">
- <null/>
- </field>
- <field
- class="net.sf.joafip.redblacktree.entity.IRBTNode"
- name="right">
- <reference
- id="17"/>
- </field>
- <field
- class="net.sf.joafip.redblacktree.entity.IRBTNode"
- name="left">
- <reference
- id="18"/>
- </field>
- <field
- class="java.lang.Object"
- name="element">
- <reference
- id="19"/>
- </field>
- <field
- class="java.util.Comparator"
- name="comparator">
- <null/>
- </field>
- <field
- class="int"
- name="numberOfChild">
- <value>1</value>
- </field>
- </object>
- <object
- id="17"
- class="net.sf.joafip.java.util.support.TreeSupportNode">
- <field
- class="net.sf.joafip.java.util.support.TreeSupportNode"
- name="previous">
- <reference
- id="15"/>
- </field>
- <field
- class="net.sf.joafip.java.util.support.TreeSupportNode"
- name="next">
- <null/>
- </field>
- <field
- class="boolean"
- name="color">
- <value>false</value>
- </field>
- <field
- class="boolean"
- name="noColorSetted">
- <value>false</value>
- </field>
- <field
- class="net.sf.joafip.redblacktree.entity.IRBTNode"
- name="parent">
- <reference
- id="15"/>
- </field>
- <field
- class="net.sf.joafip.redblacktree.entity.IRBTNode"
- name="right">
- <reference
- id="20"/>
- </field>
- <field
- class="net.sf.joafip.redblacktree.entity.IRBTNode"
- name="left">
- <reference
- id="21"/>
- </field>
- <field
- class="java.lang.Object"
- name="element">
- <reference
- id="22"/>
- </field>
- <field
- class="java.util.Comparator"
- name="comparator">
- <null/>
- </field>
- <field
- class="int"
- name="numberOfChild">
- <value>0</value>
- </field>
- </object>
- <object
- id="18"
- class="net.sf.joafip.redblacktree.entity.RBTSentinel">
- <field
- class="net.sf.joafip.redblacktree.entity.IRBTNode"
- name="parent">
- <reference
- id="15"/>
- </field>
- </object>
- <object
- id="19"
- class="net.sf.joafip.java.util.PTreeMapEntry">
- <field
- class="java.util.Comparator"
- name="comparator">
- <null/>
- </field>
- <field
- class="java.lang.Object"
- name="value">
- <reference
- id="25"/>
- </field>
- <field
- class="java.lang.Object"
- name="key">
- <reference
- id="26"/>
- </field>
- </object>
- <object
- id="20"
- class="net.sf.joafip.redblacktree.entity.RBTSentinel">
- <field
- class="net.sf.joafip.redblacktree.entity.IRBTNode"
- name="parent">
- <reference
- id="17"/>
- </field>
- </object>
- <object
- id="21"
- class="net.sf.joafip.redblacktree.entity.RBTSentinel">
- <field
- class="net.sf.joafip.redblacktree.entity.IRBTNode"
- name="parent">
- <reference
- id="17"/>
- </field>
- </object>
- <object
- id="22"
- class="net.sf.joafip.java.util.PTreeMapEntry">
- <field
- class="java.util.Comparator"
- name="comparator">
- <null/>
- </field>
- <field
- class="java.lang.Object"
- name="value">
- <reference
- id="27"/>
- </field>
- <field
- class="java.lang.Object"
- name="key">
- <reference
- id="28"/>
- </field>
- </object>
- <object
- id="25"
- class="net.sf.joafip.export_import.Container">
- <field
- class="net.sf.joafip.java.util.PArrayList"
- name="arrayList">
- <reference
- id="30"/>
- </field>
- <field
- class="java.util.Iterator"
- name="arrayListIterator">
- <reference
- id="31"/>
- </field>
- <field
- class="java.util.ListIterator"
- name="arrayListListIterator">
- <reference
- id="32"/>
- </field>
- <field
- class="java.util.List"
- name="subArrayList">
- <null/>
- </field>
- <field
- class="java.util.Iterator"
- name="subArrayListIterator">
- <null/>
- </field>
- <field
- class="java.util.List"
- name="linkedList">
- <reference
- id="33"/>
- </field>
- <field
- class="java.util.Iterator"
- name="linkedListIterator">
- <reference
- id="34"/>
- </field>
- <field
- class="java.util.ListIterator"
- name="linkedListListIterator">
- <reference
- id="35"/>
- </field>
- <field
- class="java.util.List"
- name="subLinkedList">
- <null/>
- </field>
- <field
- class="java.util.Iterator"
- name="subLinkedListIterator">
- <null/>
- </field>
- <field
- class="net.sf.joafip.java.util.PTreeList"
- name="treeList">
- <reference
- id="36"/>
- </field>
- <field
- class="java.util.Iterator"
- name="treeListIterator">
- <reference
- id="37"/>
- </field>
- <field
- class="java.util.ListIterator"
- name="treeListListIterator">
- <reference
- id="38"/>
- </field>
- <field
- class="java.util.List"
- name="subTreeList">
- <null/>
- </field>
- <field
- class="java.util.Iterator"
- name="subTreeListIterator">
- <null/>
- </field>
- <field
- class="net.sf.joafip.java.util.PHashSet"
- name="hashSet">
- <reference
- id="39"/>
- </field>
- <field
- class="java.util.Iterator"
- name="hashSetIterator">
- <reference
- id="40"/>
- </field>
- <field
- class="net.sf.joafip.java.util.PTreeSet"
- name="treeSet">
- <reference
- id="41"/>
- </field>
- <field
- class="java.util.Iterator"
- name="treeSetIterator">
- <reference
- id="42"/>
- </field>
- <field
- class="java.util.ListIterator"
- name="treeSetListIterator">
- <reference
- id="43"/>
- </field>
- <field
- class="java.util.Iterator"
- name="treeSetDescendingIterator">
- <reference
- id="44"/>
- </field>
- <field
- class="java.util.ListIterator"
- name="treeSetDescendingListIterator">
- <reference
- id="45"/>
- </field>
- <field
- class="net.sf.joafip.java.util.PTreeSubSet"
- name="treeSubSet">
- <reference
- id="46"/>
- </field>
- <field
- class="java.util.Iterator"
- name="treeSubSetIterator">
- <reference
- id="47"/>
- </field>
- <field
- class="java.util.ListIterator"
- name="treeSubSetListIterator">
- <reference
- id="48"/>
- </field>
- <field
- class="java.util.Iterator"
- name="treeSubSetDescendingIterator">
- <reference
- id="49"/>
- </field>
- <field
- class="java.util.ListIterator"
- name="treeSubSetDescendingListIterator">
- <reference
- id="50"/>
- </field>
- <field
- class="net.sf.joafip.java.util.PDescendingTreeSet"
- name="descendingTreeSet">
- <reference
- id="51"/>
- </field>
- <field
- class="net.sf.joafip.java.util.PDescendingTreeSubSet"
- name="descendingTreeSubSet">
- <reference
- id="52"/>
- </field>
- <field
- class="net.sf.joafip.java.util.PHashMap"
- name="hashMap">
- <reference
- id="53"/>
- </field>
- <field
- class="java.util.Iterator"
- name="hashMapSetIterator">
- <reference
- id="54"/>
- </field>
- <field
- class="java.util.Iterator"
- name="hashMapValueIterator">
- <reference
- id="55"/>
- </field>
- <field
- class="net.sf.joafip.java.util.PLinkedHashMap"
- name="linkedHashMap">
- <reference
- id="56"/>
- </field>
- <field
- class="java.util.Iterator"
- name="linkedHashMapSetIterator">
- <reference
- id="57"/>
- </field>
- <field
- class="java.util.Iterator"
- name="linkedHashMapValueIterator">
- <reference
- id="58"/>
- </field>
- <field
- class="net.sf.joafip.java.util.PLinkedHashSet"
- name="linkedHashSet">
- <reference
- id="59"/>
- </field>
- <field
- class="java.util.Iterator"
- name="linkedHashSetIterator">
- <reference
- id="60"/>
- </field>
- <field
- class="net.sf.joafip.java.util.PPriorityQueue"
- name="priorityQueue">
- <reference
- id="61"/>
- </field>
- <field
- class="java.util.Iterator"
- name="priorityQueueIterator">
- <reference
- id="62"/>
- </field>
- <field
- class="net.sf.joafip.java.util.PTreeMap"
- name="treeMap">
- <reference
- id="63"/>
- </field>
- <field
- class="java.util.Iterator"
- name="treeMapSetIterator">
- <reference
- id="64"/>
- </field>
- <field
- class="java.util.Iterator"
- name="treeMapValueIterator">
- <reference
- id="65"/>
- </field>
- <field
- class="java.util.SortedMap"
- name="subTreeMap">
- <reference
- id="66"/>
- </field>
- <field
- class="java.util.Iterator"
- name="subTreeMapSetIterator">
- <reference
- id="67"/>
- </field>
- <field
- class="java.util.Iterator"
- name="subTreeMapValueIterator">
- <reference
- id="68"/>
- </field>
- <field
- class="net.sf.joafip.java.util.PVector"
- name="vector">
- <reference
- id="69"/>
- </field>
- <field
- class="java.util.Map"
- name="mapOfSet">
- <reference
- id="70"/>
- </field>
- <field
- class="java.util.Set"
- name="setOfBob">
- <reference
- id="71"/>
- </field>
- </object>
- <string
- id="26">container</string>
- <object
- id="27"
- class="net.sf.joafip.export_import.Class1ForExportImportTest">
- <field
- class="boolean"
- name="boolean1">
- <value>true</value>
- </field>
- <field
- class="byte"
- name="byte1">
- <value>5</value>
- </field>
- <field
- class="short"
- name="short1">
- <value>6</value>
- </field>
- <field
- class="int"
- name="int1">
- <value>7</value>
- </field>
- <field
- class="int"
- name="int2">
- <value>7</value>
- </field>
- <field
- class="long"
- name="long1">
- <value>8</value>
- </field>
- <field
- class="float"
- name="float1">
- <value>9.9</value>
- </field>
- <field
- class="double"
- name="double1">
- <value>10.1</value>
- </field>
- <field
- class="net.sf.joafip.export_import.Class2ForExportImportTest"
- name="object1">
- <reference
- id="74"/>
- </field>
- <field
- class="net.sf.joafip.export_import.Class2ForExportImportTest"
- name="object2">
- <reference
- id="75"/>
- </field>
- <field
- class="java.lang.Boolean"
- name="boolean2">
- <value>true</value>
- </field>
- <field
- class="java.lang.Byte"
- name="byte2">
- <value>5</value>
- </field>
- <field
- class="java.lang.Short"
- name="short2">
- <value>6</value>
- </field>
- <field
- class="java.lang.Integer"
- name="int3">
- <value>7</value>
- </field>
- <field
- class="java.lang.Long"
- name="long2">
- <value>8</value>
- </field>
- <field
- class="java.lang.Float"
- name="float2">
- <value>9.9</value>
- </field>
- <field
- class="java.lang.Double"
- name="double2">
- <value>10.1</value>
- </field>
- </object>
- <string
- id="28">object</string>
- <object
- id="30"
- class="net.sf.joafip.java.util.PArrayList">
- <field
- class="net.sf.joafip.java.util.support.ArrayListSupport"
- name="arrayListSupport">
- <reference
- id="84"/>
- </field>
- <field
- class="int"
- name="modCount">
- <value>0</value>
- </field>
- </object>
- <object
- id="31"
- class="net.sf.joafip.java.util.support.ArrayListSupportIterator">
- <field
- class="net.sf.joafip.java.util.support.ArrayListSupport"
- name="arrayList">
- <reference
- id="84"/>
- </field>
- <field
- class="int"
- name="nextIndex">
- <value>0</value>
- </field>
- </object>
- <object
- id="32"
- class="net.sf.joafip.java.util.support.ArrayListSupportIterator">
- <field
- class="net.sf.joafip.java.util.support.ArrayListSupport"
- name="arrayList">
- <reference
- id="84"/>
- </field>
- <field
- class="int"
- name="nextIndex">
- <value>0</value>
- </field>
- </object>
- <object
- id="33"
- class="net.sf.joafip.java.util.PLinkedList">
- <field
- class="net.sf.joafip.java.util.support.LinkedListSupport"
- name="linkedListSupport">
- <reference
- id="87"/>
- </field>
- <field
- class="int"
- name="modCount">
- <value>0</value>
- </field>
- </object>
- <object
- id="34"
- class="net.sf.joafip.java.util.support.LinkedListSupportIterator">
- <field
- class="net.sf.joafip.java.util.support.LinkedListSupportManager"
- name="listManager">
- <reference
- id="89"/>
- </field>
- <field
- class="net.sf.joafip.java.util.support.ILinkedListSupportNode"
- name="nextNode">
- <reference
- id="90"/>
- </field>
- <field
- class="net.sf.joafip.java.util.support.ILinkedListSupportNode"
- name="previousNode">
- <null/>
- </field>
- <field
- class="int"
- name="indexOfNext">
- <value>0</value>
- </field>
- <field
- class="int"
- name="indexOfPrevious">
- <value>-1</value>
- </field>
- <field
- class="net.sf.joafip.java.util.support.ILinkedListSupportNode"
- name="removable">
- <null/>
- </field>
- </object>
- <object
- id="35"
- class="net.sf.joafip.java.util.support.LinkedListSupportIterator">
- <field
- class="net.sf.joafip.java.util.support.LinkedListSupportManager"
- name="listManager">
- <reference
- id="89"/>
- </field>
- <field
- class="net.sf.joafip.java.util.support.ILinkedListSupportNode"
- name="nextNode">
- <reference
- id="90"/>
- </field>
- <field
- class="net.sf.joafip.java.util.support.ILinkedListSupportNode"
- name="previousNode">
- <null/>
- </field>
- <field
- class="int"
- name="indexOfNext">
- <value>0</value>
- </field>
- <field
- class="int"
- name="indexOfPrevious">
- <value>-1</value>
- </field>
- <field
- class="net.sf.joafip.java.util.support.ILinkedListSupportNode"
- name="removable">
- <null/>
- </field>
- </object>
- <object
- id="36"
- class="net.sf.joafip.java.util.PTreeList">
- <field
- class="net.sf.joafip.java.util.support.TreeListSupport"
- name="tree">
- <reference
- id="92"/>
- </field>
- <field
- class="int"
- name="modCount">
- <value>0</value>
- </field>
- </object>
- <object
- id="37"
- class="net.sf.joafip.java.util.support.TreeListSupportIterator">
- <field
- class="net.sf.joafip.java.util.support.TreeSupport"
- name="tree">
- <reference
- id="92"/>
- </field>
- <field
- class="net.sf.joafip.java.util.support.TreeSupportNode"
- name="previousNode">
- <null/>
- </field>
- <field
- class="net.sf.joafip.java.util.support.TreeSupportNode"
- name="nextNode">
- <reference
- id="94"/>
- </field>
- <field
- class="net.sf.joafip.java.util.support.TreeSupportNode"
- name="removable">
- <null/>
- </field>
- <field
- class="boolean"
- name="fromEnd">
- <value>false</value>
- </field>
- </object>
- <object
- id="38"
- class="net.sf.joafip.java.util.support.TreeListSupportIterator">
- <field
- class="net.sf.joafip.java.util.support.TreeSupport"
- name="tree">
- <reference
- id="92"/>
- </field>
- <field
- class="net.sf.joafip.java.util.support.TreeSupportNode"
- name="previousNode">
- <null/>
- </field>
- <field
- class="net.sf.joafip.java.util.support.TreeSupportNode"
- name="nextNode">
- <reference
- id="94"/>
- </field>
- <field
- class="net.sf.joafip.java.util.support.TreeSupportNode"
- name="removable">
- <null/>
- </field>
- <field
- class="boolean"
- name="fromEnd">
- <value>false</value>
- </field>
- </object>
- <object
- id="39"
- class="net.sf.joafip.java.util.PHashSet">
- <field
- class="net.sf.joafip.java.util.support.HashSupport"
- name="hashSupport">
- <reference
- id="96"/>
- </field>
- </object>
- <object
- id="40"
- class="net.sf.joafip.java.util.support.HashSupportIterator">
- <field
- class="java.util.ListIterator"
- name="treeIterator">
- <reference
- id="98"/>
- </field>
- <field
- class="net.sf.joafip.java.util.support.LinkedListSupportIterator"
- name="setIterator">
- <reference
- id="99"/>
- </field>
- <field
- class="net.sf.joafip.java.util.support.HashSupport"
- name="hashSupport">
- <reference
- id="96"/>
- </field>
- </object>
- <object
- id="41"
- class="net.sf.joafip.java.util.PTreeSet">
- <field
- class="net.sf.joafip.java.util.support.TreeSupport"
- name="treeSupport">
- <reference
- id="100"/>
- </field>
- </object>
- <object
- id="42"
- class="net.sf.joafip.java.util.support.TreeSupportIterator">
- <field
- class="net.sf.joafip.java.util.support.TreeSupport"
- name="tree">
- <reference
- id="100"/>
- </field>
- <field
- class="net.sf.joafip.java.util.support.TreeSupportNode"
- name="previousNode">
- <null/>
- </field>
- <field
- class="net.sf.joafip.java.util.support.TreeSupportNode"
- name="nextNode">
- <reference
- id="102"/>
- </field>
- <field
- class="net.sf.joafip.java.util.support.TreeSupportNode"
- name="removable">
- <null/>
- </field>
- <field
- class="boolean"
- name="fromEnd">
- <value>false</value>
- </field>
- </object>
- <object
- id="43"
- class="net.sf.joafip.java.util.support.TreeSupportIterator">
- <field
- class="net.sf.joafip.java.util.support.TreeSupport"
- name="tree">
- <reference
- id="100"/>
- </field>
- <field
- class="net.sf.joafip.java.util.support.TreeSupportNode"
- name="previousNode">
- <null/>
- </field>
- <field
- class="net.sf.joafip.java.util.support.TreeSupportNode"
- name="nextNode">
- <reference
- id="102"/>
- </field>
- <field
- class="net.sf.joafip.java.util.support.TreeSupportNode"
- name="removable">
- <null/>
- </field>
- <field
- class="boolean"
- name="fromEnd">
- <value>false</value>
- </field>
- </object>
- <object
- id="44"
- class="net.sf.joafip.java.util.support.TreeSupportDescendingIterator">
- <field
- class="java.util.ListIterator"
- name="iterator">
- <reference
- id="104"/>
- </field>
- </object>
- <object
- id="45"
- class="net.sf.joafip.java.util.support.TreeSupportDescendingIterator">
- <field
- class="java.util.ListIterator"
- name="iterator">
- <reference
- id="105"/>
- </field>
- </object>
- <object
- id="46"
- class="net.sf.joafip.java.util.PTreeSubSet">
- <field
- class="java.util.Comparator"
- name="comparator">
- <null/>
- </field>
- <field
- class="java.lang.Object"
- name="fromElement">
- <reference
- id="107"/>
- </field>
- <field
- class="boolean"
- name="fromInclusive">
- <value>true</value>
- </field>
- <field
- class="java.lang.Object"
- name="toElement">
- <reference
- id="108"/>
- </field>
- <field
- class="boolean"
- name="toInclusive">
- <value>false</value>
- </field>
- <field
- class="net.sf.joafip.java.util.support.TreeSupport"
- name="treeSupport">
- <reference
- id="100"/>
- </field>
- </object>
- <object
- id="47"
- class="net.sf.joafip.java.util.support.TreeSupportSubIterator">
- <field
- class="java.lang.Object"
- name="fromElement">
- <reference
- id="107"/>
- </field>
- <field
- class="boolean"
- name="fromInclusive">
- <value>true</value>
- </field>
- <field
- class="java.lang.Object"
- name="toElement">
- <reference
- id="108"/>
- </field>
- <field
- class="boolean"
- name="toInclusive">
- <value>false</value>
- </field>
- <field
- class="int"
- name="beginIndex">
- <value>1</value>
- </field>
- <field
- class="net.sf.joafip.java.util.support.TreeSupport"
- name="tree">
- <reference
- id="100"/>
- </field>
- <field
- class="net.sf.joafip.java.util.support.TreeSupportNode"
- name="previousNode">
- <null/>
- </field>
- <field
- class="net.sf.joafip.java.util.support.TreeSupportNode"
- name="nextNode">
- <reference
- id="110"/>
- </field>
- <field
- class="net.sf.joafip.java.util.support.TreeSupportNode"
- name="removable">
- <null/>
- </field>
- <field
- class="boolean"
- name="fromEnd">
- <value>false</value>
- </field>
- </object>
- <object
- id="48"
- class="net.sf.joafip.java.util.support.TreeSupportSubIterator">
- <field
- class="java.lang.Object"
- name="fromElement">
- <reference
- id="107"/>
- </field>
- <field
- class="boolean"
- name="fromInclusive">
- <value>true</value>
- </field>
- <field
- class="java.lang.Object"
- name="toElement">
- <reference
- id="108"/>
- </field>
- <field
- class="boolean"
- name="toInclusive">
- <value>false</value>
- </field>
- <field
- class="int"
- name="beginIndex">
- <value>1</value>
- </field>
- <field
- class="net.sf.joafip.java.util.support.TreeSupport"
- name="tree">
- <reference
- id="100"/>
- </field>
- <field
- class="net.sf.joafip.java.util.support.TreeSupportNode"
- name="previousNode">
- <null/>
- </field>
- <field
- class="net.sf.joafip.java.util.support.TreeSupportNode"
- name="nextNode">
- <reference
- id="110"/>
- </field>
- <field
- class="net.sf.joafip.java.util.support.TreeSupportNode"
- name="removable">
- <null/>
- </field>
- <field
- class="boolean"
- name="fromEnd">
- <value>false</value>
- </field>
- </object>
- <object
- id="49"
- class="net.sf.joafip.java.util.support.TreeSupportSubDescendingIterator">
- <field
- class="java.util.ListIterator"
- name="iterator">
- <reference
- id="112"/>
- </field>
- </object>
- <object
- id="50"
- class="net.sf.joafip.java.util.support.TreeSupportDescendingIterator">
- <field
- class="java.util.ListIterator"
- name="iterator">
- <reference
- id="113"/>
- </field>
- </object>
- <object
- id="51"
- class="net.sf.joafip.java.util.PDescendingTreeSet">
- <field
- class="net.sf.joafip.java.util.support.TreeSupport"
- name="treeSupport">
- <reference
- id="100"/>
- </field>
- </object>
- <object
- id="52"
- class="net.sf.joafip.java.util.PDescendingTreeSubSet">
- <field
- class="java.util.Comparator"
- name="comparator">
- <null/>
- </field>
- <field
- class="java.lang.Object"
- name="fromElement">
- <reference
- id="107"/>
- </field>
- <field
- class="boolean"
- name="fromInclusive">
- <value>true</value>
- </field>
- <field
- class="java.lang.Object"
- name="toElement">
- <reference
- id="108"/>
- </field>
- <field
- class="boolean"
- name="toInclusive">
- <value>false</value>
- </field>
- <field
- class="net.sf.joafip.java.util.support.TreeSupport"
- name="treeSupport">
- <reference
- id="100"/>
- </field>
- </object>
- <object
- id="53"
- class="net.sf.joafip.java.util.PHashMap">
- <field
- class="net.sf.joafip.java.util.PHashSet"
- name="hashSet">
- <reference
- id="117"/>
- </field>
- <field
- class="java.util.Collection"
- name="valuesCollection">
- <reference
- id="118"/>
- </field>
- <field
- class="java.util.Set"
- name="keySet">
- <null/>
- </field>
- <field
- class="java.util.Collection"
- name="values">
- <null/>
- </field>
- </object>
- <object
- id="54"
- class="net.sf.joafip.java.util.PMapKeySet$1">
- <field
- class="java.util.Iterator"
- name="entrySetIterator">
- <reference
- id="120"/>
- </field>
- <field
- class="net.sf.joafip.java.util.PMapKeySet"
- name="this$0">
- <reference
- id="121"/>
- </field>
- </object>
- <object
- id="55"
- class="net.sf.joafip.java.util.SetOfMapEntryValueIterator">
- <field
- class="java.util.Iterator"
- name="iterator">
- <reference
- id="123"/>
- </field>
- </object>
- <object
- id="56"
- class="net.sf.joafip.java.util.PLinkedHashMap">
- <field
- class="net.sf.joafip.java.util.PLinkedHashSet"
- name="hashSet">
- <reference
- ...
[truncated message content] |
|
From: <luc...@us...> - 2012-11-28 12:15:14
|
Revision: 3163
http://joafip.svn.sourceforge.net/joafip/?rev=3163&view=rev
Author: luc_peuvrier
Date: 2012-11-28 12:15:05 +0000 (Wed, 28 Nov 2012)
Log Message:
-----------
red black tree management changed. foreground garbage sweep changed
Modified Paths:
--------------
trunk/joafip/pom.xml
trunk/joafip/src/main/java/net/sf/joafip/store/service/AbstractStoreDelegatingToDataManager.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/garbage/StoreGarbager.java
trunk/joafip/src/main/java/net/sf/joafip/util/PersistantDataRecordIdentifierSet.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/TestLinkManagementInFile.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/TestObjectReferenceLinkInFile.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/TestStoreWithG.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/garbage/GarbageDataIntegrityChecker.java
Added Paths:
-----------
trunk/joafip/src/test/java/net/sf/joafip/util/TestPersistantDataRecordIdentifierSetIteration.java
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <luc...@us...> - 2012-11-28 12:15:18
|
Revision: 3163
http://joafip.svn.sourceforge.net/joafip/?rev=3163&view=rev
Author: luc_peuvrier
Date: 2012-11-28 12:15:05 +0000 (Wed, 28 Nov 2012)
Log Message:
-----------
red black tree management changed. foreground garbage sweep changed
Modified Paths:
--------------
trunk/joafip/pom.xml
trunk/joafip/src/main/java/net/sf/joafip/store/service/AbstractStoreDelegatingToDataManager.java
trunk/joafip/src/main/java/net/sf/joafip/store/service/garbage/StoreGarbager.java
trunk/joafip/src/main/java/net/sf/joafip/util/PersistantDataRecordIdentifierSet.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/TestLinkManagementInFile.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/TestObjectReferenceLinkInFile.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/TestStoreWithG.java
trunk/joafip/src/test/java/net/sf/joafip/store/service/garbage/GarbageDataIntegrityChecker.java
Added Paths:
-----------
trunk/joafip/src/test/java/net/sf/joafip/util/TestPersistantDataRecordIdentifierSetIteration.java
Modified: trunk/joafip/pom.xml
===================================================================
--- trunk/joafip/pom.xml 2012-11-23 03:36:47 UTC (rev 3162)
+++ trunk/joafip/pom.xml 2012-11-28 12:15:05 UTC (rev 3163)
@@ -54,6 +54,13 @@
<dependency>
<groupId>net.sf.joafip</groupId>
+ <artifactId>joafip-kvstore</artifactId>
+ <type>test-jar</type>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>net.sf.joafip</groupId>
<artifactId>joafip-heapfile</artifactId>
</dependency>
Modified: trunk/joafip/src/main/java/net/sf/joafip/store/service/AbstractStoreDelegatingToDataManager.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/store/service/AbstractStoreDelegatingToDataManager.java 2012-11-23 03:36:47 UTC (rev 3162)
+++ trunk/joafip/src/main/java/net/sf/joafip/store/service/AbstractStoreDelegatingToDataManager.java 2012-11-28 12:15:05 UTC (rev 3163)
@@ -39,10 +39,10 @@
protected final JoafipLogger logger = JoafipLogger.getLogger(getClass());// NOPMD
/** name of the data file in directory path */
- private static final String STORE_DATA =
+ public static final String STORE_DATA =
/**/"store.data";
- private static final String TRACE_FILE =
+ public static final String TRACE_FILE =
/**/"trace.txt";
/** name of the backup data file in directory path */
Modified: trunk/joafip/src/main/java/net/sf/joafip/store/service/garbage/StoreGarbager.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/store/service/garbage/StoreGarbager.java 2012-11-23 03:36:47 UTC (rev 3162)
+++ trunk/joafip/src/main/java/net/sf/joafip/store/service/garbage/StoreGarbager.java 2012-11-28 12:15:05 UTC (rev 3163)
@@ -97,7 +97,7 @@
private LinkRecordManager linkRecordManager;;
- //private LinkManager linkManager;
+ // private LinkManager linkManager;
public StoreGarbager(final IStoreForGarbage store) throws StoreException {
super();
@@ -110,10 +110,10 @@
public void setStoreSaver(final IStoreSaverForGarbage storeSaver) {
this.storeSaver = storeSaver;
LinkManager linkManager = storeSaver.getLinkManager();
- if( linkManager==null) {
- linkRecordManager=null;
+ if (linkManager == null) {
+ linkRecordManager = null;
} else {
- linkRecordManager=linkManager.getLinkRecordManager();
+ linkRecordManager = linkManager.getLinkRecordManager();
}
}
@@ -193,7 +193,6 @@
* @throws StoreClassNotFoundException
* @throws StoreDataCorruptedException
*/
- // FIXMELUC ____________garbageSweep
public int garbageSweep(final String filePath) throws StoreException,
StoreClassNotFoundException, StoreDataCorruptedException {
numberOFGarbaged = 0;
@@ -230,6 +229,12 @@
}
final IHeapDataManager dataManager = storeSaver.getDataManager();
+ if (LOGGER.isInfoEnabled()) {
+ final int numberOfDataRecord = dataManager
+ .getNumberOfDataRecord();
+ LOGGER.info("total number of data record " + numberOfDataRecord
+ + ", " + toPreserveSet.size() + " to preserve");
+ }
final Iterator<DataRecordIdentifier> iterator = dataManager
.dataRecordIterator();
garbageStartNotify();
@@ -240,14 +245,15 @@
if (linkRecordManager == null) {
dataManager.deleteDataRecord(existing);
} else {
- linkRecordManager.removeLinkIfExist(existing/*referenced*/);
+ linkRecordManager
+ .removeLinkIfExist(existing/* referenced */);
final ObjectLinkTreeNode objectLinkTreeNode = objectIOManager
.getObjectLinkTreeNode(existing);
dataManager.deleteDataRecord(existing);
final DataRecordIdentifier[] referencedList = objectLinkTreeNode
.getReferencedList();
for (DataRecordIdentifier referenced : referencedList) {
- removeLink(existing/*referencing*/, referenced);
+ removeLink(existing/* referencing */, referenced);
}
}
numberOFGarbaged++;
@@ -256,6 +262,9 @@
storeSaver.performModificationDone();
}
storeSaver.saveModification();
+ if (LOGGER.isInfoEnabled()) {
+ LOGGER.info("end of garbage sweep");
+ }
} catch (GarbageException exception) {
throw new StoreException(exception);
@@ -285,9 +294,11 @@
}
private void removeLink(final DataRecordIdentifier referencing,
- final DataRecordIdentifier referenced) throws GarbageException, ReferenceLinkGarbageException {
- final ReferenceLink referenceLink = linkRecordManager.searchByReferenced(referenced);
- if( referenceLink!=null) {
+ final DataRecordIdentifier referenced) throws GarbageException,
+ ReferenceLinkGarbageException {
+ final ReferenceLink referenceLink = linkRecordManager
+ .searchByReferenced(referenced);
+ if (referenceLink != null) {
referenceLink.decrementLinkCount(referencing);
linkRecordManager.updateReferenceLink(referenceLink);
}
Modified: trunk/joafip/src/main/java/net/sf/joafip/util/PersistantDataRecordIdentifierSet.java
===================================================================
--- trunk/joafip/src/main/java/net/sf/joafip/util/PersistantDataRecordIdentifierSet.java 2012-11-23 03:36:47 UTC (rev 3162)
+++ trunk/joafip/src/main/java/net/sf/joafip/util/PersistantDataRecordIdentifierSet.java 2012-11-28 12:15:05 UTC (rev 3163)
@@ -43,7 +43,7 @@
public class PersistantDataRecordIdentifierSet extends
AbstractSet<DataRecordIdentifier> {
- private static final int MAX_RECORDS = 1000;
+ private static final int MAX_RECORDS = 10000;
private static final byte[] DATA = new byte[0];
Modified: trunk/joafip/src/test/java/net/sf/joafip/store/service/TestLinkManagementInFile.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/store/service/TestLinkManagementInFile.java 2012-11-23 03:36:47 UTC (rev 3162)
+++ trunk/joafip/src/test/java/net/sf/joafip/store/service/TestLinkManagementInFile.java 2012-11-28 12:15:05 UTC (rev 3163)
@@ -44,6 +44,7 @@
super.setUp();
store = new StoreForTest(1, null,
TestConstant.getWinRamDiskRuntimeDir(), true/* garbage */);
+ store.addToNotCheckMethod(net.sf.joafip.store.service.objectfortest.Bob1.class);
dataManager = store.getDataManager();
linkRecordManager = store.getLinkRecordManager();
store.openAndNewAccessSession(true/* removeFiles */);
Modified: trunk/joafip/src/test/java/net/sf/joafip/store/service/TestObjectReferenceLinkInFile.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/store/service/TestObjectReferenceLinkInFile.java 2012-11-23 03:36:47 UTC (rev 3162)
+++ trunk/joafip/src/test/java/net/sf/joafip/store/service/TestObjectReferenceLinkInFile.java 2012-11-28 12:15:05 UTC (rev 3163)
@@ -44,6 +44,7 @@
super.setUp();
store = new StoreForTest(1, null,
TestConstant.getWinRamDiskRuntimeDir(), true/* garbage */);
+ store.addToNotCheckMethod(net.sf.joafip.store.service.objectfortest.Bob1.class);
store.openAndNewAccessSession(true/* remove file */);
objectIOManager = store.getObjectIOManager();
dataManager = store.getDataManager();
Modified: trunk/joafip/src/test/java/net/sf/joafip/store/service/TestStoreWithG.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/store/service/TestStoreWithG.java 2012-11-23 03:36:47 UTC (rev 3162)
+++ trunk/joafip/src/test/java/net/sf/joafip/store/service/TestStoreWithG.java 2012-11-28 12:15:05 UTC (rev 3163)
@@ -26,6 +26,7 @@
StoreClassNotFoundException {
store = new StoreForTest(1, null, path,
/**/true/* manage garbage */);
+ store.addToNotCheckMethod(net.sf.joafip.store.service.objectfortest.Bob1.class);
store.openAndNewAccessSession(removeFiles);
dataManager = store.getDataManager();
}
Modified: trunk/joafip/src/test/java/net/sf/joafip/store/service/garbage/GarbageDataIntegrityChecker.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/store/service/garbage/GarbageDataIntegrityChecker.java 2012-11-23 03:36:47 UTC (rev 3162)
+++ trunk/joafip/src/test/java/net/sf/joafip/store/service/garbage/GarbageDataIntegrityChecker.java 2012-11-28 12:15:05 UTC (rev 3163)
@@ -133,12 +133,6 @@
final DataRecordIdentifier referencingDataRecordIdentifier = referencing
.getDataRecordIdentifier();
- // FIXMELUC ____________________referencing not exists
- // TestCase.assertTrue(referencingDataRecordIdentifier
- // + " referencing " + referencedDataRecordIdentifier
- // + " not in storage", dataManager
- // .hasDataRecord(referencingDataRecordIdentifier));
-
final int linkCount = referencing.getLinkCount();
referenceLinkGraphFromLinkInfo.addReferencing(
referencedDataRecordIdentifier,
Added: trunk/joafip/src/test/java/net/sf/joafip/util/TestPersistantDataRecordIdentifierSetIteration.java
===================================================================
--- trunk/joafip/src/test/java/net/sf/joafip/util/TestPersistantDataRecordIdentifierSetIteration.java (rev 0)
+++ trunk/joafip/src/test/java/net/sf/joafip/util/TestPersistantDataRecordIdentifierSetIteration.java 2012-11-28 12:15:05 UTC (rev 3163)
@@ -0,0 +1,90 @@
+/*
+ * Copyright 2012 Luc Peuvrier
+ * All rights reserved.
+ *
+ * This file is a part of JOAFIP.
+ *
+ * JOAFIP is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License.
+ *
+ * Licensed under the GNU LESSER GENERAL PUBLIC LICENSE
+ * Licensed under the LGPL License, Version 3, 29 June 2007 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.gnu.org/licenses/lgpl.html
+ *
+ * JOAFIP is distributed in the hope that it will be useful, but
+ * unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package net.sf.joafip.util;
+
+import java.util.Iterator;
+
+import net.sf.joafip.AbstractJoafipCommonTestCase;
+import net.sf.joafip.NoStorableAccess;
+import net.sf.joafip.NotStorableClass;
+import net.sf.joafip.TestException;
+import net.sf.joafip.kvstore.record.entity.DataRecordIdentifier;
+
+/**
+ *
+ * @author luc peuvrier
+ *
+ */
+@NotStorableClass
+@NoStorableAccess
+public class TestPersistantDataRecordIdentifierSetIteration extends AbstractJoafipCommonTestCase {
+
+ private PersistantDataRecordIdentifierSet set;
+
+ public TestPersistantDataRecordIdentifierSetIteration()
+ throws TestException {
+ super();
+ }
+
+ public TestPersistantDataRecordIdentifierSetIteration(final String name)
+ throws TestException {
+ super(name);
+ }
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ set = new PersistantDataRecordIdentifierSet("runtime/set");
+ set.startService(true);
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ try {
+ set.clear();
+ } catch (Exception exception) {
+ // ignore error
+ }
+ try {
+ set.stopService(true);
+ } catch (Exception exception) {
+ // ignore error
+ }
+ super.tearDown();
+ }
+
+ public void testIteration() {
+ for(long value=0;value<50000;value++){
+ set.add(new DataRecordIdentifier(value));
+ }
+ final Iterator<DataRecordIdentifier> iterator = set.iterator();
+ long value=0;
+ while(iterator.hasNext()){
+ final DataRecordIdentifier dataRecordIdentifier = iterator.next();
+ assertEquals("bad value",value,dataRecordIdentifier.value);
+ value++;
+ }
+ assertEquals("bad value",50000L,value);
+ }
+}
Property changes on: trunk/joafip/src/test/java/net/sf/joafip/util/TestPersistantDataRecordIdentifierSetIteration.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|