}
protected void _readCacheChange(RemoteChange remoteChange, DataInputStream dis) throws IOException {
int messageType = dis.readByte();
if (messageType == ERXRemoteSynchronizer.INSERT) {
EOGlobalID gid = readGID(dis);
ERXDatabase.SnapshotInserted change = new ERXDatabase.SnapshotInserted(gid, NSDictionary.EmptyDictionary);
if (log.isDebugEnabled()) {
log.info("Remote instance (" + remoteChange.identifier() + ") inserted " + change);
}
remoteChange.addRemoteCacheChange(change);
}
else if (messageType == ERXRemoteSynchronizer.UPDATE) {
EOGlobalID gid = readGID(dis);
ERXDatabase.SnapshotUpdated change = new ERXDatabase.SnapshotUpdated(gid, NSDictionary.EmptyDictionary);
if (log.isDebugEnabled()) {
log.info("Remote instance (" + remoteChange.identifier() + ") updated " + change);
}
remoteChange.addRemoteCacheChange(change);
}
else if (messageType == ERXRemoteSynchronizer.DELETE) {
EOGlobalID gid = readGID(dis);
ERXDatabase.SnapshotDeleted change = new ERXDatabase.SnapshotDeleted(gid, NSDictionary.EmptyDictionary);
if (log.isDebugEnabled()) {
log.info("Remote instance (" + remoteChange.identifier() + ") deleted " + change);
}
remoteChange.addRemoteCacheChange(change);
}
else if (messageType == ERXRemoteSynchronizer.TO_MANY_UPDATE) {
EOGlobalID sourceGID = readGID(dis);
String name = dis.readUTF();
NSArray<EOGlobalID> addedGIDs = readGIDs(dis);
NSArray<EOGlobalID> removedGIDs = readGIDs(dis);
boolean removeAll = dis.readBoolean();
ERXDatabase.ToManySnapshotUpdated change = new ERXDatabase.ToManySnapshotUpdated(sourceGID, name, addedGIDs, removedGIDs, removeAll);