Incompatible API Changes in INTViewer 2018

A/ The com.interactive.intviewerapi.crs.ICoordinateSystemChooserService interface has been changed

The signature of this interface has changed from:

    public ICoordinateSystemChooser createChooser(String defaultEPSGCode, int displayMode);
    public String getBaseEPSGCode(String epsgCode);
    public String parseEPSGCode(String epsgCode);
    public String getCoordinateSystemName(String epsgCode);
    public void addAliasEPSGCode(String uniqueProjectionName, String aliasEPSGCode, cgRect areaOfUse);
    public String getAliasEPSGCode(String uniqueProjectionName, cgRect areaOfUse);

to

    public ICoordinateSystemChooser createChooser(int displayMode);
    public ICoordinateSystemChooser createAliasChooser(String wkt, int displayMode);

The missing methods have been moved to the new com.interactive.intviewerapi.crs.AbstractCoordinateSystemListingService class:

    public String parseEPSGCode(String epsgCode);
    public void addAliasEPSGCode(String uniqueProjectionName, String aliasEPSGCode, cgRect areaOfUse);
    public String getAliasEPSGCode(String uniqueProjectionName, cgRect areaOfUse);

and the new com.interactive.intviewerapi.crs.AbstractCoordinateSystemDetailsService class:

    public String getBaseEPSGCode(String epsgCode);
    public String getCoordinateSystemName(String epsgCode);

B/ The obfuscation library has been changed to work with Java 8

If you were using reflection to access INTViewer internals, your code might no longer work due to a name change of internal variables.