Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
GoogleCodeExporter opened this issue Aug 3, 2015 · 0 comments

Comments

@GoogleCodeExporter
Copy link

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 [email protected] on 11 Sep 2014 at 6:34

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant