From f6d716a130277dae5838a644cbfd4f50dba0e94b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20T=C3=A1rraga=20Gim=C3=A9nez?= Date: Fri, 28 Feb 2025 13:07:32 +0100 Subject: [PATCH] datastore: fix cast, #TASK-7439 --- .../datastore/solr/SolrFacetToFacetFieldsConverter.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/commons-datastore/commons-datastore-solr/src/main/java/org/opencb/commons/datastore/solr/SolrFacetToFacetFieldsConverter.java b/commons-datastore/commons-datastore-solr/src/main/java/org/opencb/commons/datastore/solr/SolrFacetToFacetFieldsConverter.java index ac2a0e7f6..e3405d354 100644 --- a/commons-datastore/commons-datastore-solr/src/main/java/org/opencb/commons/datastore/solr/SolrFacetToFacetFieldsConverter.java +++ b/commons-datastore/commons-datastore-solr/src/main/java/org/opencb/commons/datastore/solr/SolrFacetToFacetFieldsConverter.java @@ -35,7 +35,10 @@ public static List convert(QueryResponse solrResponse, Map solrFacets = (SimpleOrderedMap) solrResponse.getResponse().get("facets"); List fields = new ArrayList<>(); - int count = (int) solrFacets.get("count"); + long count = 0; + if (solrFacets.get("count") != null) { + count = ((Number) solrFacets.get("count")).longValue(); + } for (int i = 0; i < solrFacets.size(); i++) { String name = solrFacets.getName(i); if (!"count".equals(name)) { @@ -71,8 +74,8 @@ private static long getBucketCount(SimpleOrderedMap solrFacets, long def List> solrBuckets = (List>) solrFacets.get("buckets"); if (solrBuckets == null) { for (int i = 0; i < solrFacets.size(); i++) { - if (solrFacets.getName(i).equals("count")) { - return (long) solrFacets.getVal(i); + if (solrFacets.getName(i).equals("count") && solrFacets.getVal(i) != null) { + return ((Number) solrFacets.getVal(i)).longValue(); } } }