I don't know if Sonny could go straight, but I'd like to see Johnny become one of the good guys, he's already proven himself by giving up on Claudia and his dad. He does care for Olivia. Why doesn't Olivia just tell Sonny the truth about Dante and get it over with, then maybe he'll be safe if the former learns the truth.