Too much review time and the related actions
If you haven't heard anything for seven months it is certainly time to send the editor an email and ask for a status update. There might be valid reasons for a long delay, but it has been a long time. 

Don't threaten to withdraw, as it will probably have no positive effect, but you can certainly say that the delay is affecting your prospects of completion. 

But only withdraw if you have a better option. Starting over in the process with another journal may be good or bad and I can't guess which.