Skip to content

VPF CoverageTable bug affecting DNC/tiled data and simple needed fix #7

@GoogleCodeExporter

Description

@GoogleCodeExporter
When using VPF classes to display DNC (Digital Nautical Chart), coverage is 
tiled, so tile drawing code within LibrarySelectionTable and CoverageTable is 
exercised.  

DNC coverage can have well over 100 features, the bug occurs when you load 
enough features and ALL features are unexpectedly blanked out.

There is a mechanism involving these variables:
public final static CopyOnWriteArraySet<VPFTileDirectory> 
TILE_DIRECTORIES_LACKING_EDG = new CopyOnWriteArraySet<>();
TILE_DIRECTORIES_LACKING_TFT = new CopyOnWriteArraySet<>();
TILE_DIRECTORIES_LACKING_AFT = new CopyOnWriteArraySet<>();
TILE_DIRECTORIES_LACKING_END = new CopyOnWriteArraySet<>();

which are used to mark primitive tables that are not present for a given 
coverage.  The programming error is that these are marked static - meaning if a 
tile directory for ANY coverage is missing one of the primitive tables, it is 
added to the list and now the table is bypassed for ALL coverages. All DNC 
features stop displaying and the bug is unrecoverable without restarting.

The simple fix is to REMOVE the static modifier, and IMO they do not need to be 
public variables either.  This resolves the issue. 


Original issue reported on code.google.com by t...@gowebb.com on 11 Sep 2014 at 6:34

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions