brianchandotcom/liferay-portal — pull request #22019 by shuyangzhou (2014-11-06 02:21:02+00:00)
Title: Lps 51376

CC @hhuijser can you SF this one?

Here is the scenario, we have a base class and subclass. And the base has a constructor with 0 parameter
When subclass creates its own constructors, there are the supposed logic.
1) Inside a child class' constructor, unless you call super(...) explicitly on the first line, the compiler automatically insert a "super();" for you, so we don't need to explicitly add this. This is the most cases in my pull.
2) If the base class' constructor throws a checked exception, we have to force the subclass' constructor declare the same throws, but still no need to call super(); manually. This is the case for AuthenticatingHttpInvokerRequestExecutor.
3) If subclass, only has one 0 parameter that simply calls super();, then the entire constructor should be removed, this is the case for SafeProperties, ThemeGroupLimit, BasicRegistryImpl and PortalHostConfig

I know it is very complex to SF all these. I don't think we need that much either, we just need to cover the basic case. Which is:

Making sure, we never manually call "super();" from any constructor.

Because if you don't do that, that is exactly what the complier will do for you.
That should not be very difficult, right?

Let me know if you have any questions.
Thanks