In this pull request, I've fixed the issue #104, in fact in was the same issue as the issue #126, but for the HDTs obtained with HDTManager.loadHDT(...), the previous pull request #154 was fixing the bug for HDT obtained with HDTManager.mapHDT(...). My fix is the same as the one for the map.
HDT-Java was casting a long value to an int, but because the long was bigger than Integer.MAX_VALUE, it was creating an overflow and returning a negative ID.
This pull request wasn't as obvious as the previous one, while searching for the bug, I've fixed some warnings and create an utility test class LargeFakeDataSetStreamSupplier to create large test HDT or RDF streams and added some int to long in the mapped section, I can rebase my commits to remove them if necessary.
In this pull request, I've fixed the issue #104, in fact in was the same issue as the issue #126, but for the HDTs obtained with
HDTManager.loadHDT(...)
, the previous pull request #154 was fixing the bug for HDT obtained withHDTManager.mapHDT(...)
. My fix is the same as the one for the map.HDT-Java was casting a long value to an int, but because the long was bigger than
Integer.MAX_VALUE
, it was creating an overflow and returning a negative ID.This pull request wasn't as obvious as the previous one, while searching for the bug, I've fixed some warnings and create an utility test class
LargeFakeDataSetStreamSupplier
to create large test HDT or RDF streams and added some int to long in the mapped section, I can rebase my commits to remove them if necessary.