This check is important, because the basedir is the resource key, and so if that changes, it's no longer the same server Resource, and start() should throw a InvalidPluginConfigurationException, which will result in a yellow triangle in the GUI. We have such a check in the as4 and as5 plugins. We should also move the launch-type and product-name checks that are currently in getAvailablity() to start().
Fixed in master: http://git.fedorahosted.org/git?p=rhq/rhq.git;a=commitdiff;h=bf140eb
Adding a fix to the original fix - getAvailability() now throws InvalidPluginConfigurationException when validation of server attributes fails... http://git.fedorahosted.org/git?p=rhq/rhq.git;a=commitdiff;h=6c34875
Adding another fix to the original fix - start() now initializes this.connection before calling getAvailability()... http://git.fedorahosted.org/git?p=rhq/rhq.git;a=commitdiff;h=569f716
Adding itests that test the server attribute validation that is now done in BaseServerComponent.start(), and make sure to null out this.lastAvail in BaseServerComponent.stop() so the attribute validation is guaranteed to happen during a component restart: http://git.fedorahosted.org/git/?p=rhq/rhq.git;a=commitdiff;h=ad96a11
Bulk closing of items that are on_qa and in old RHQ releases, which are out for a long time and where the issue has not been re-opened since.