in elastic-db-tools/src/main/java/com/microsoft/azure/elasticdb/shard/storeops/base/StoreOperationFactory.java [1038:1077]
public IStoreOperation fromLogEntry(ShardMapManager shardMapManager,
StoreLogEntry so) {
StoreOperationCode code = so.getOpCode();
switch (code) {
case AddShard:
return this.createAddShardOperation(shardMapManager, so.getId(), so.getUndoStartState(), so.getData());
case RemoveShard:
return this.createRemoveShardOperation(shardMapManager, so.getId(), so.getUndoStartState(), so.getData());
case UpdateShard:
return this.createUpdateShardOperation(shardMapManager, so.getId(), so.getUndoStartState(), so.getData());
case AddPointMapping:
case AddRangeMapping:
return this.createAddMappingOperation(code, shardMapManager, so.getId(), so.getUndoStartState(), so.getData(),
so.getOriginalShardVersionAdds());
case RemovePointMapping:
case RemoveRangeMapping:
return this.createRemoveMappingOperation(code, shardMapManager, so.getId(), so.getUndoStartState(), so.getData(),
so.getOriginalShardVersionRemoves());
case UpdatePointMapping:
case UpdateRangeMapping:
case UpdatePointMappingWithOffline:
case UpdateRangeMappingWithOffline:
return this.createUpdateMappingOperation(code, shardMapManager, so.getId(), so.getUndoStartState(), so.getData(),
so.getOriginalShardVersionRemoves(), so.getOriginalShardVersionAdds());
case SplitMapping:
case MergeMappings:
return this.createReplaceMappingsOperation(code, shardMapManager, so.getId(), so.getUndoStartState(), so.getData(),
so.getOriginalShardVersionAdds());
default:
// Debug.Fail("Unexpected operation code.");
return null;
}
}