Bug 57898

Summary: Fix for #50786 breaks API of HSSFColor.getIndexHash()
Product: POI Reporter: Tobias Gruetzmacher <tobias.gruetzmacher>
Component: HSSFAssignee: POI Developers List <dev>
Status: RESOLVED WONTFIX    
Severity: normal    
Priority: P2    
Version: 3.8-FINAL   
Target Milestone: ---   
Hardware: PC   
OS: All   

Description Tobias Gruetzmacher 2015-05-07 13:16:38 UTC
The fix commited for bug #50786 (r1077920) changes the return value of  HSSFColor.getIndexHash() from java.util.Hashtable to java.util.Map.

This breaks libraries that used the old return value and are built against POI 3.6 and run with POI 3.9 (in my case):

java.lang.NoSuchMethodError: org.apache.poi.hssf.util.HSSFColor.getIndexHash()Ljava/util/Hashtable;
Comment 1 Nick Burch 2015-05-07 13:25:35 UTC
I'm not sure we're going to be able to fix this, sorry. Having a Hashtable as a return type isn't ideal, Map is generally cleaner. Additionally, the change occurred over 4 years ago, so large numbers of people will have written / updated their code to the new signature, which means a change back would affect too many people

POI 3.6 is getting on for 6 years old now! Anything using that really really ought to be upgraded to something more modern, just see http://poi.apache.org/changes.html#3.6 for an idea of the features and bug fixes since then