ObjectIODataRecordNotFoundException, StoreInvalidClassException,
StoreNotSerializableException, StoreClassNotFoundException,
StoreDataCorruptedException, ObjectIOClassNotFoundException,
ObjectIODataCorruptedException, HeapException,
StoreTooBigForSerializationException {
BobObjectArray bobObjectArray = new BobObjectArray();
store.setRoot(bobObjectArray);
store.save(true, false);
DATA_MANAGER_INTEGRITY_CHECKER.checkIntegrity(dataManager);
bobObjectArray = (BobObjectArray) store.readAndGetRoot();
DataRecordIdentifier idObjectArray = store
.getDataRecordIdentifierAssociatedToObject(bobObjectArray);
assertNotNull("bobObjectArray must have data record identifier",
idObjectArray);
Object[] objects = bobObjectArray.getValues();
assertNull("no values must be setted", objects);
assertObjectLink(BobObjectArray.class, idObjectArray,
new DataRecordIdentifier[] {});
Bob1 bob1 = new Bob1();
Bob2 bob2 = new Bob2();
objects = new Object[] { bob1, bob2, bob1 };
bobObjectArray.setValues(objects);
store.save(true, false);
DATA_MANAGER_INTEGRITY_CHECKER.checkIntegrity(dataManager);
bobObjectArray = (BobObjectArray) store.readAndGetRoot();
idObjectArray = store
.getDataRecordIdentifierAssociatedToObject(bobObjectArray);
assertNotNull("bobObjectArray must have data record identifier",
idObjectArray);
objects = bobObjectArray.getValues();
assertNotNull("values be setted", objects);
final DataRecordIdentifier idArray = store
.getDataRecordIdentifierAssociatedToObject(objects);
assertNotNull("array must have data record identifier", idArray);
bob1 = (Bob1) objects[0];