Your rig looks fine but if I were you i'd look at 3 things:
A Solid state drive (SSD), it makes your pc boot a lot faster than a standart hard drive. Since they have gone under the dollar per Gb mark they arent that expencive anymore. You can get a 128Gb samsung 830 series SSD for under 100 dollar.
You might want to take a look at the 2500k, this is a older series processor but it overclocks higher than the current i5 that you chose. There is a downside to it, you don't get the features of ivybridge.
The power supply you chose is a good one but i'd take a look at the XFX Pro 550W since the part are made by seasonic (one of the best).
Those are the 3 points that I'd take a look at.
Greets,
Daniel
Edit: Battlefield 3 should be no problem with most of todays graphics cards.
You should be fine on ultra settings, most of the new card can pull that off. The 7870 can pull it off at 50+ fps according to benchmarks. You might want to take a look at non-reference cards though. The reference will run a bit hot sometimes and the non-reference have little benefits like factory overclocks (totally stable and stress tested). I'd suggest taking a look at Asus, XFX and MSI, I personally will go for XFX for their life time warranty.
If you wan't more GPU power, you could always swap that i5 for a FX-6300 and get a 7950 instead. You will see little to none FPS loss, and probably a lot of times you'll see more FPS. What is your budget anyway?
I actually dont have a budget. But it's a bundle in a store almost next to my house. They assemble it and make sure it works. But i can ask them if i can change parts in the rig :)