Imagine, if you can, that rockets were fired on Detroit from Windsor, Canada, just across the river.
How many rockets or mortars would it take before there was serious activity to stop it?
Why does the world, for some reason, expect Israel to show “restraint” and to not act to stop attacks on their civilian centers.
These civilian population centers are NOT in any “disputed” territories – they are well inside Israel proper. They also originate from territory from which Israel voluntarily withdrew in 2005 – Gaza, so the Gazans cannot claim that Israel is “occupying” their territory, except for the fact that Hamas and their allies in Gaza consider ALL of Israel “occupied” and thus reason that their attacks are legitimate.
By the same token, however, Israel has the right, under whatever laws or morals you want to use as a basis, to defend its citizens from deliberate, indiscriminately aimed rockets and mortars.
There is NO nation on Earth that would have shown the restraint that Israel has shown to date.
Personally, I would have turned Gaza into a parking lot by now. War sucks, and should always be a last resort.
But, you have a ruling party (Hamas) in Gaza which has declared war on Israel and is physically attacking Israel on a regular basis.
I doubt there is ANY international law which would prevent Israel (assuming the law was applied objectively, which is a different problem) from responding with overwhelming force to resolve the problem of attacks on its civilians.