waveletId, fromVersion);
JSONArray rawDeltas = json.getJSONObject("data").getJSONArray("rawDeltas");
if (rawDeltas.length() == 0) {
break;
}
ProtocolWaveletDelta firstDelta = ProtocolWaveletDelta.parseFrom(
ProtocolAppliedWaveletDelta.parseFrom(
Base64.decodeBase64(rawDeltas.getString(0).getBytes())).
getSignedOriginalDelta().getDelta());
ProtocolWaveletDelta lastDelta = ProtocolWaveletDelta.parseFrom(
ProtocolAppliedWaveletDelta.parseFrom(
Base64.decodeBase64(rawDeltas.getString(rawDeltas.length() - 1).getBytes())).
getSignedOriginalDelta().getDelta());
if (firstDelta.getHashedVersion().getVersion() != fromVersion) {
if (lastDelta.getHashedVersion().getVersion() == fromVersion - 1) {
break;
}
System.err.println("Error : expected version " + fromVersion
+ ", got version " + firstDelta.getHashedVersion().getVersion());
errorCount++;
break;
}
String fileName = exportDir + "/"
+ FileUtils.waveIdToPathSegment(WaveId.deserialise(waveId)) + "."
+ FileUtils.waveletIdToPathSegment(waveletId) + "."
+ new DecimalFormat(FILE_NUMBER_PATTERN).format(fetchNum) + ".json";
writeFile(fileName, json.toString());
fromVersion = lastDelta.getHashedVersion().getVersion() + 1;
}
}
processedCount++;
} catch (Exception ex) {
errorCount++;