From 16dbbcc26a47b1d098609d305e40998a7bda959c Mon Sep 17 00:00:00 2001 From: Vincent Massol <vincent@massol.net> Date: Tue, 16 Feb 2016 11:42:45 +0100 Subject: [PATCH] XWIKI-13103: Aggregate Java versions by major + minor only --- .../ActiveInstalls/JavaVersionsData.xml | 24 ++++++++++++++----- 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/xwiki-platform-core/xwiki-platform-activeinstalls/xwiki-platform-activeinstalls-server/xwiki-platform-activeinstalls-server-ui/src/main/resources/ActiveInstalls/JavaVersionsData.xml b/xwiki-platform-core/xwiki-platform-activeinstalls/xwiki-platform-activeinstalls-server/xwiki-platform-activeinstalls-server-ui/src/main/resources/ActiveInstalls/JavaVersionsData.xml index ad8ea5646ec..3f74eacd7cd 100644 --- a/xwiki-platform-core/xwiki-platform-activeinstalls/xwiki-platform-activeinstalls-server/xwiki-platform-activeinstalls-server-ui/src/main/resources/ActiveInstalls/JavaVersionsData.xml +++ b/xwiki-platform-core/xwiki-platform-activeinstalls/xwiki-platform-activeinstalls-server/xwiki-platform-activeinstalls-server-ui/src/main/resources/ActiveInstalls/JavaVersionsData.xml @@ -31,8 +31,8 @@ <parent>ActiveInstalls.JavaVersions</parent> <author>xwiki:XWiki.Admin</author> <contentAuthor>xwiki:XWiki.Admin</contentAuthor> - <date>1455616800000</date> - <contentUpdateDate>1455616800000</contentUpdateDate> + <date>1455618836000</date> + <contentUpdateDate>1455618836000</contentUpdateDate> <version>1.1</version> <title>Active Installs Versions Data</title> <comment/> @@ -77,13 +77,25 @@ #else ## Generate table with data #set ($jsonItems = $result.getAsJsonObject('aggregations').getAsJsonObject('versions').getAsJsonArray('buckets')) - $headingLine - #set ($count = 0) + ## We're only interested in displaying major Java versions, so we only take into account the first 2 digits in + ## the Java version string, e.g. "1.8" for "1.8.0_66" + #set ($versionMap = {}) #foreach ($jsonItem in $jsonItems) + #set ($version = $jsonItem.getAsJsonPrimitive('key').getAsString()) #set ($value = $jsonItem.getAsJsonObject('instanceId_count').getAsJsonPrimitive('value').getAsLong()) + #set ($shortVersion = $version.substring(0, 3)) + #set ($count = $versionMap.get($shortVersion)) + #if ("$!count" == '') + #set ($count = 0) + #end + #set ($discard = $versionMap.put($shortVersion, $mathtool.add($count, $value))) + #end + $headingLine + #set ($count = 0) + #foreach ($item in $versionMap.keySet()) + #set ($value = $versionMap.get($item)) #if ($velocityCount <= 10) - #set ($version = $jsonItem.getAsJsonPrimitive('key').getAsString()) - |$version|$value + |$item|$value #else #set ($count = $mathtool.add($count, $value)) #end -- GitLab