[BZ 1002174] - uninventory storage node for stopped agent destabilizes system and leads to Administration-> Topology -> Storage Nodes page dysfunction - Adding yet another confirmation box when uninventorying the platform or storage node.
[BZ 855674] - Get rid of the dreaded "PageList was passed an empty collection but 'totalSize' was X" exception.

The main part of the fix is just the realization that the "error"
condition for which the exception was thrown is actually no error but can
be triggered by the mere fact that we use READ_COMMITTED isolation level.
The fact that a user can go past the last page of a result is actually also
not an error and can be triggered by for example a massive change in the
available data between the user asking for first and second page.

I think it is better to stop treating all such conditions as errors and
instead provide the user with means of detecting such states.

For that a new method on pagelist was introduced:
PageList.isConsistent(), which calls out to PageControl.isConsistentWith()
that check if the data and total size of the page list are consistent with
the page control.

This in turn is used by the CriteriaQueryRunner to re-attempt the queries
if it finds the inconsistency (which is most possibly caused by the phantom
read due to our transaction isolation level).
Add a few more translations.
Add sonarqube plugin to the build
BZ 1001499 Provide a link to resource/group/type of the definition
BZ 973101 - Check passed MeasurementDefinitionId for validity
Add support for proxies for HTTPService resources
More descriptive log warning when no storage node is found in the database (StorageNodeManagerBean.getLoad() was failing with NPE). This situation somehow happened when the nodes were installed prior to the RHQ server itself.
[BZ 855674] - Refactored the phantom-read detection out of CriteriaQueryRunner

This was to make it testable but more importantly reusable by ordinary SLSB
methods (that don't use criteria queries).

Also added unit tests for the phantom-read detection (now placed in
QueryUtility in server jar) and for PageControl in domain jar.
Show metric sparklines even when there is only a single point of data. The sparkline graphs only render a plot if there is at least two points of data. When a new system first comes up and only one point of data is available no sparkline is shown. By adding an additional "0" point to the single point of data the sparkline will now render.
fixing storage plugin itest failure

The failure occurred as a result of the upgrade to C* 1.2.9. The problem is in
test code only. In C* 1.2.9, StorageService throws an IllegalStateException if
no seed node can be contacted during bootstrap, causing the node to shut down.
The prepareForBootstrap test previously only ran with a single node and did not
really bootstrap the node.

The change in 1.2.9 forced me to make the test a bit more honest which is a
good thing. The prepareForBootstrap test now stands up a second node that is
bootstrapped.
upgrade netty version used by C* due to CASSANDRA-5955
Removing the priority filter from the alert view for storage nodes. Also fixing the filtering by creation time.
updating descriptions of (un)deployment storage node resource operations
Fix OperationManagerBean: parameters should be copied in ResourceOperationHistory
obfuscate rhq.storage.password

In RHQ 4.8, we had rhq.cassandra.username and rhq.cassandra.password. These
been replaced with rhq.storage.username and rhq.storage.password. The
password property needs to be obfuscated like the relational database password.
If you set rhq.storage.password to an obfuscated string, the upgrade command
was replacing it with the plain-text value of rhq.cassandra.password. Since
the username/password was hard-coded as rhqadmin/rhqadmin in 4.8, we can safely
set rhq.storage.password to the obfuscated string.
BZ 988735 - refine the callback API. Abort the discovery of a specific resource if more than one callback processed the details. added integration test to see it work
Ensure console objects don't cause problems in IE.  In CoreGUI.html there is a js IFFE that should take care of defining an undefined console object for IE but this snippet doesn't seem to be working yet. Will come back to this later.
[BZ 1003794] Cannot load metrics on some resources when data is not available yet.
Handle null RawNumericMetric better.
BZ 988454 - add a readme to the plugin