private TransactionChangesLog readExternal(ObjectInputStream in) throws IOException, ClassNotFoundException
{
int changesLogType = in.readInt();
TransactionChangesLog transactionChangesLog = null;
if (changesLogType == PendingChangesLog.Type.CHANGESLOG_WITH_STREAM)
{
// read ChangesLog
transactionChangesLog = (TransactionChangesLog)in.readObject();
// read FixupStream count
int iFixupStream = in.readInt();
ArrayList<FixupStream> listFixupStreams = new ArrayList<FixupStream>();
for (int i = 0; i < iFixupStream; i++)
{
FixupStream fs = new FixupStream();
fs.readExternal(in);
listFixupStreams.add(fs);
}
// listFixupStreams.add((FixupStream) in.readObject());
// read stream data
int iStreamCount = in.readInt();
ArrayList<File> listFiles = new ArrayList<File>();
for (int i = 0; i < iStreamCount; i++)
{
// read file size
long fileSize = in.readLong();
// read content file
File contentFile = getAsFile(in, fileSize);
listFiles.add(contentFile);
}
PendingChangesLog pendingChangesLog =
new PendingChangesLog(transactionChangesLog, listFixupStreams, listFiles, fileCleaner);
pendingChangesLog.restore();
TransactionChangesLog log = pendingChangesLog.getItemDataChangesLog();
}
else if (changesLogType == PendingChangesLog.Type.CHANGESLOG_WITHOUT_STREAM)
{
transactionChangesLog = (TransactionChangesLog)in.readObject();